jQuery UI DatePicker - отключить все дни, кроме последнего дня месяца - PullRequest
11 голосов
/ 14 сентября 2010

Я пытаюсь использовать средство выбора даты jquery UI для отображения календаря с возможностью выбора только последнего дня месяца.

Я успешно использовал событие beforeShowDay, чтобы отключить дни недели, но не уверен, как использовать это, чтобы отключить все, кроме последнего дня месяца.

Ответы [ 2 ]

15 голосов
/ 15 сентября 2010

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 голос
/ 16 февраля 2012
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(); 
} 

Это будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...