jQuery: DatePicker не позволяет мне выбрать максимальную дату
Я использую средство выбора даты в jQuery и указываю минимальную сегодняшнюю дату и максимальную дату 31 января. Однако, когда календарь появляется, 31-й нельзя выбрать, несмотря на то, что код выглядит правильно.
Вот код:
function initializePickers() {
jQuery('.date-start').each(function() {
startEndPickers(this);
});
jQuery('.date-end').each(function() {
startEndPickers(this);
});
}
function startEndPickers(input) {
jQuery(input).datepicker({
dateFormat: "M dd, yy",
minDate: new Date(),
maxDate: new Date('2014-01-31')
});
}
А вот jsFiddle, который демонстрирует невозможность выбора 31 января: http://jsfiddle.net/Hec5m/
Кто-нибудь знает, что вызывает это? maxDate
четко указано как 31-й, а не 30-й.
1 ответ
new Date('2014-01-31')
выбирает полночь 31 января, что означает, что ни одно время в течение дня не будет выбрано, поэтому оно исключено.
Вы можете исправить это либо с помощью 2014-02-01
в качестве максимальной даты ( jsFiddle) или путем указания времени вместе с конечной датой в 23:59:59
( jsFiddle).
Пользовательский интерфейс jQuery также позволяет вам вводить строку в качестве аргумента (так же, как ваш формат даты - так "Jan 31, 2014"
в вашем случае), а не передавая в Date
объект, который ведет себя так, как вы ожидаете. ( jsFiddle)