我的表单上有一个datepicker小部件(它与UI-Timepicker一起使用)。
该值已受限制(从现在起5年)。
当用户开始输入年份时,它会自动重置日期和月份。
例如,“ minDate”目前为2014年6月18日,当前值为6/18/2019。
如果我想选择2016年1月1日-我输入01,然后输入01,当我按2时,它将自动设置2014年6月18日。
如果我尝试不使用“ 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');
}
});
});