jQuery UI DatePicker-отключить все дни, кроме последнего дня месяца
Я пытаюсь использовать jQuery UI datepicker, чтобы показать календарь только с последним днем месяца.
Я успешно использовал событие beforeShowDay для отключения дней недели, но не уверен, как я буду использовать это, чтобы отключить все, кроме последнего дня месяца.
2 ответов
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();
}
Это будет работать