jQuery UI DatePicker - 禁用除月末之外的所有日期

时间:2010-09-14 19:39:51

标签: jquery-ui datepicker

我正在尝试使用jquery UI datepicker来显示仅可选择月份最后一天的日历。

我已成功使用beforeShowDay事件来禁用一周中的几天,但不确定如何使用它来禁用除月内最后一天之外的所有内容。

2 个答案:

答案 0 :(得分:15)

在日历显示的每个日期之前调用beforeShowDay。调用beforeShowDay时,您需要确定传递给它的日期是否是该月的最后一天。

以下JScript将返回指定年份和月份的月份的最后一天。

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

使用以下代码确定beforeShowDay的日期是否是该月的最后一天:

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

答案 1 :(得分: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(); 
} 

这将有效