我有一个与输入字段相关的 日期选择器
,第一次打开时默认日期是今天,这正是我想要的。
然而,当我选择一个日期并清除输入字段时,日期选择器
仍然保留所选日期,这不是我想要的。
有没有人知道为什么会出现这种情况,以及我如何防止这种行为?
我有一个与输入字段相关的 日期选择器
,第一次打开时默认日期是今天,这正是我想要的。
然而,当我选择一个日期并清除输入字段时,日期选择器
仍然保留所选日期,这不是我想要的。
有没有人知道为什么会出现这种情况,以及我如何防止这种行为?
重置 Datepicker 组件的日期的正确方法如下:
$.datepicker._clearDate('#input_field_goes_here');
或者像这样:
$('#input_field_goes_here').datepicker('setDate', null);
无论哪种方式对你最有效。
请查看http://codepen.io/alexgill/pen/yOQrwV
$(SELECTOR).datepicker('setDate', null);
日历中的清除按钮。
$("#txtCalendar").datepicker({
showButtonPanel: true,
closeText: 'Clear',
onClose: function (dateText, obj) {
if ($(window.event.srcElement).hasClass('ui-datepicker-close'))
$("#txtCalendar").val('');
}
});
window.event.srcElement
),为了让它正常工作,你需要将其替换为event.target
。参考链接:https://developer.mozilla.org/en-US/docs/Web/API/Event/srcElement - funder7}).keyup(function(e) {
if(e.keyCode == 8 || e.keyCode == 46) {
$.datepicker._clearDate(this);
}
});
即使字段处于只读模式,您仍然可以使用退格键清除字段。源代码
$( dateInput ).attr( "value", null )
而不是 _clearDate
。 - Joshua Pinter$(SELECTOR).datepicker('setDate', new Date());
$(SELECTOR).datepicker('setDate', null);
只需执行最后一行代码,就会在日期选择器中显示先前选择的年份