2010-09-14 36 views
12

Tôi đang cố gắng sử dụng thanh công cụ ngày của giao diện người dùng jquery để hiển thị lịch chỉ với ngày cuối cùng của tháng có thể chọn.Thanh công cụ giao diện người dùng jQuery - Vô hiệu hóa tất cả các ngày trừ ngày cuối cùng của tháng

Tôi đã sử dụng thành công sự kiện beforeShowDay để vô hiệu hóa các ngày trong tuần nhưng không chắc chắn cách tôi sử dụng điều này để vô hiệu hóa mọi thứ trừ ngày cuối cùng của tháng.

Trả lời

15

trướcShowDay được gọi cho mỗi ngày được hiển thị trên lịch. Khi beforeShowDay được gọi, bạn cần phải xác định xem ngày được chuyển đến ngày đó có phải là ngày cuối cùng của tháng hay không.

JScript sau sẽ trả về ngày cuối cùng của tháng cho một năm và tháng nhất định.

function LastDayOfMonth(Year, Month) 
{ 
    return(new Date((new Date(Year, Month+1,1))-1)).getDate(); 
} 

Sử dụng đoạn mã sau để xác định xem ngày của beforeShowDay là cuối cùng của tháng:

$('.selector').datepicker({ 
    beforeShowDay: function (date) { 
     //getDate() returns the day (0-31) 
     if (date.getDate() == LastDayOfMonth(date.getFullYear(),date.getMonth())) { 
      return [true, '']; 
     } 
     return [false, '']; 
    } 
}); 
+0

xin lỗi, nhưng dòng trở lại trở lại [sai sự thật, '']; - hiển thị cho tôi lỗi cú pháp –

+1

@MArcin: bạn có thể xóa 1 trở lại khỏi dòng đó. – understack

1
function LastDayOfMonth(Year, Month) { 
    //set next month first day 
    //substract one day from it.   
    return new Date(new Date(Year, Month+1,1)-1).getDate(); 
} 

này sẽ làm việc

Các vấn đề liên quan