Jquery 插件daterangepicker不';t检查日期有效值

Jquery 插件daterangepicker不';t检查日期有效值,jquery,daterangepicker,Jquery,Daterangepicker,我使用这个插件: 我需要一个输入字段,我可以在其中选择一个日期,或保留为空。如果我插入无效日期,插件需要自己更正它 我创建了一个JSFIDLE来报告问题: 第一个输入示例:这个输入字段版本工作得很好,但是如果需要,我不能清空该字段。最糟糕的是,如果我手动插入一个无效的日期,字段会自动更正 第二个输入示例:在这个输入字段中,如果需要,我可以清空该字段,但是如果我手动写入无效日期,无效值将保留!!我希望插件检查触发器更改的有效性 这是我的小提琴: 使用的代码: $("#data2").datera

我使用这个插件:

我需要一个输入字段,我可以在其中选择一个日期,或保留为空。如果我插入无效日期,插件需要自己更正它

我创建了一个JSFIDLE来报告问题:

第一个输入示例:这个输入字段版本工作得很好,但是如果需要,我不能清空该字段。最糟糕的是,如果我手动插入一个无效的日期,字段会自动更正

第二个输入示例:在这个输入字段中,如果需要,我可以清空该字段,但是如果我手动写入无效日期,无效值将保留!!我希望插件检查触发器更改的有效性

这是我的小提琴:

使用的代码:

$("#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,应该这样做吗?