我正在尝试使用jquery UI datepicker来显示仅可选择月份最后一天的日历。
我已成功使用beforeShowDay事件来禁用一周中的几天,但不确定如何使用它来禁用除月末的最后一天之外的所有内容。
我正在尝试使用jquery UI datepicker来显示仅可选择月份最后一天的日历。
我已成功使用beforeShowDay事件来禁用一周中的几天,但不确定如何使用它来禁用除月末的最后一天之外的所有内容。
在日历上显示的每个日期都会调用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, ''];
}
});
在日历上显示的每个日期都会调用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, ''];
}
});
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();
}
这会奏效