В моей форме есть виджет выбора даты (он работает вместе с UI-Timepicker ).
Значение было ограничено (в течение 5 лет).
Когда пользователь начинает вводить год, он автоматически сбрасывает день и месяц.
Например, «minDate» на данный момент - 18.06.2014, а текущее значение - 18/18/2019.
Если я хочу выбрать 1 января 2016 года - я набираю 01, затем 01, и когда я нажимаю 2, автоматически устанавливается 6/18/2014.
Если я попытаюсь сделать то же самое без опции «minDate», на этом этапе у меня будет 01.01.1902 - наверное, поэтому библиотека работает именно так. - он считает, что пользователь хочет использовать дату меньше, чем «minDate».
Знаете ли вы, как я могу избежать этого, я пробовал много разных способов (отключить / переопределить некоторые обработчики)?
Этот код работает в Chrome, но не в IE / FF:
$('.datepicker').each(function (idx, el) {
$(el).off('keypress');
$(el).change(function () {
let valid = false;
try {
$.datepicker.parseDate('mm/dd/yy', this.value);
valid = true;
} catch (e) {
$(this).datepicker('setDate', 'today');
}
});
});