jQuery DatePicker ограничить даты
Я пытаюсь ограничить jquery datepicker
ценности. Так что from date
не может превышать to date
и наоборот.
Демо https://jsfiddle.net/DTcHh/21594/
Я пробовал несколько примеров этого, но не могу заставить его работать. Это потому, что я использую формат даты в Великобритании?
$(".datepicker").datepicker({
dateFormat: 'dd-mm-yy'
});
$('#from_date').datepicker({
onSelect: function(dateStr) {
var min = $(this).datepicker('getDate') || new Date(); // Selected date or today if none
var max = new Date(min.getTime());
max.setMonth(max.getDay() + 1); // Add one month
$('#to_date').datepicker('option', {minDate: min, maxDate: max});
}
});
$('#to_date').datepicker({
onSelect: function(dateStr) {
var max = $(this).datepicker('getDate'); // Selected date or null if none
$('#from_date').datepicker('option', {maxDate: max});
}
});
Поскольку я новичок в JavaScript, я хочу точно знать, почему мой код не работает, поэтому я могу извлечь из этого уроки.
1 ответ
Вы не можете инициализировать выбор даты на одном элементе дважды. Сначала вы вызвали средство выбора даты для элемента с его классом; затем с его идентификатором.
Попробуйте переместить формат даты в функцию выбора даты по умолчанию.
$.datepicker.setDefaults({
dateFormat: 'dd-mm-yy'
});
Или вам нужно устанавливать dateFormat каждый раз, когда вы инициализируете элемент выбора даты.