jQuery datepicker onselect事件在IE 11中显示无效日期

我的Web应用程序中有此代码(请参阅jsfiddle)。 https://jsfiddle.net/6cgzuymh/2/

问题是我的用户同时使用IE和chrome,并且此代码在chrome上可以正常使用,但在IE 11上却不能。 当我尝试在IE 11上运行上述jsfiddle时,它不起作用。有人对此有解决方案吗?

第一个onselect方法中的警报会在IE中引发无效日期,但在Chrome中可以正常工作。

我发现有一件事,如果删除日期格式也可以在IE中使用,但是我需要dd-M-yy格式,因为客户端来自英国。

<table border="0" cellpadding="0" cellspacing="0">
<tr>
    <td>
        From:
    </td>
    <td>
        <input type="text" id="txtFrom" />
    </td>
    <td>
        &nbsp;
    </td>
    <td>
        To:
    </td>
    <td>
        <input type="text" id="txtTo" />
    </td>
</tr>
</table>

 $("#txtFrom").datepicker({
        changeMonth: true,changeYear: true,showAnim: "slideDown",dateFormat: "dd-M-yy",onSelect: function (selected) {
            var dt = new Date(selected);
            dt.setDate(dt.getDate() + 1);
            alert(dt); ///  <<--------------------------------  throws invalid date in IE
            $("#txtTo").datepicker("option","minDate",dt);
        }
    });
    $("#txtTo").datepicker({
         changeMonth: true,onSelect: function (selected) {
            var dt = new Date(selected);
            dt.setDate(dt.getDate() - 1);
            ///$("#txtFrom").datepicker("option","maxDate",dt);
        }
    });
mars00721 回答:jQuery datepicker onselect事件在IE 11中显示无效日期

您的日期格式不正确。代替dd-M-yy,您需要编写yy-mm-dd

$("#txtFrom").datepicker({
  changeMonth: true,changeYear: true,showAnim: "slideDown",dateFormat: "yy-mm-dd",onSelect: function (selected) { }
});

https://jsfiddle.net/zfgh0ce2/

您想从new Date('04-Nov-2019')中创建一个日期,该日期不是IETF兼容的RFC 2822ISO 8601日期字符串。

-> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date

本文链接:https://www.f2er.com/3037584.html

大家都在问