Jquery 插件daterangepicker不';t检查日期有效值
我使用这个插件: 我需要一个输入字段,我可以在其中选择一个日期,或保留为空。如果我插入无效日期,插件需要自己更正它 我创建了一个JSFIDLE来报告问题: 第一个输入示例:这个输入字段版本工作得很好,但是如果需要,我不能清空该字段。最糟糕的是,如果我手动插入一个无效的日期,字段会自动更正 第二个输入示例:在这个输入字段中,如果需要,我可以清空该字段,但是如果我手动写入无效日期,无效值将保留!!我希望插件检查触发器更改的有效性 这是我的小提琴: 使用的代码:Jquery 插件daterangepicker不';t检查日期有效值,jquery,daterangepicker,Jquery,Daterangepicker,我使用这个插件: 我需要一个输入字段,我可以在其中选择一个日期,或保留为空。如果我插入无效日期,插件需要自己更正它 我创建了一个JSFIDLE来报告问题: 第一个输入示例:这个输入字段版本工作得很好,但是如果需要,我不能清空该字段。最糟糕的是,如果我手动插入一个无效的日期,字段会自动更正 第二个输入示例:在这个输入字段中,如果需要,我可以清空该字段,但是如果我手动写入无效日期,无效值将保留!!我希望插件检查触发器更改的有效性 这是我的小提琴: 使用的代码: $("#data2").datera
$("#data2").daterangepicker({
"showISOWeekNumbers": true,
"autoApply": true,
"autoUpdateInput": false,
"singleDatePicker": true,
"locale": {
"format": "DD/MM/YYYY",
"separator": " - ",
"applyLabel": "Applica",
"cancelLabel": "Annulla",
"fromLabel": "Da",
"toLabel": "A",
"customRangeLabel": "Personalizza",
"weekLabel": "W",
"daysOfWeek": [
"Do",
"Lu",
"Ma",
"Me",
"Gi",
"Ve",
"Sa"
],
"monthNames": [
"Gennaio",
"Febbraio",
"Marzo",
"Aprile",
"Maggio",
"Giugno",
"Luglio",
"Agosto",
"Settembre",
"Ottobre",
"Novembre",
"Dicembre"
],
"firstDay": 1
}
}, function(start_date, end_date) {
this.element.val(start_date.format('DD/MM/YYYY')).trigger("change");
});
});
添加此行以防止出现默认行为:
$('#data1, #data2').on('keydown', function(event){
// allow "back" key
keycode = event.keyCode || event.which
if(keycode!=8) event.preventDefault();
})
现在只能通过datepicker日历进行输入,或者使用back键清除输入字段。注意:JSFIDLE使用第二个日期选择器的配置,用于$data1
和#data2
请参阅更新的小提琴:
或者您可以使用插件的默认配置,该配置允许您手动编辑日期并自动更正自身:
$("#data1, #data2").daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxYear: parseInt(moment().format('YYYY'),10),
// your locale settings
添加此行以防止出现默认行为:
$('#data1, #data2').on('keydown', function(event){
// allow "back" key
keycode = event.keyCode || event.which
if(keycode!=8) event.preventDefault();
})
现在只能通过datepicker日历进行输入,或者使用back键清除输入字段。注意:JSFIDLE使用第二个日期选择器的配置,用于$data1
和#data2
请参阅更新的小提琴:
或者您可以使用插件的默认配置,该配置允许您手动编辑日期并自动更正自身:
$("#data1, #data2").daterangepicker({
singleDatePicker: true,
showDropdowns: true,
minYear: 1901,
maxYear: parseInt(moment().format('YYYY'),10),
// your locale settings
变通办法是上帝,但是…我不能手动写日期。。。只使用calendar.ok,但首先要有一个日期选择器就是选择一个日期?对吗?顺便说一句:您可以将这一行添加到keydown事件:
$(this).val(“”)
,然后任何按键都会清空输入字段是的,但有些用户会选择默认日期(今天)修改手动添加例如10年…手动更改仅年份以加快更新示例并使用原始日期选择器配置添加JSFIDLE,应该可以吗?解决方法是上帝,但…我不能手动编写日期。。。只使用calendar.ok,但首先要有一个日期选择器就是选择一个日期?对吗?顺便说一句:您可以将这一行添加到keydown事件:$(this).val(“”)
,然后任何按键都会清空输入字段是的,但有些用户会选择默认日期(今天)修改手动添加,例如10年…手动更改仅年份以加速只更新示例并添加带有原始datepicker配置的JSFIDLE,应该这样做吗?