UI-DatePicker пересматривает значение при нажатии клавиш - PullRequest
0 голосов
/ 18 июня 2019

В моей форме есть виджет выбора даты (он работает вместе с 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');
        }
    });
});
...