【问题标题】:jquery datepicker onselect event shows invalid date in IE 11jquery datepicker onselect 事件在 IE 11 中显示无效日期
【发布时间】:2019-11-25 09:50:15
【问题描述】:

我的 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,
       changeYear: true,
       showAnim: "slideDown",
       dateFormat: "dd-M-yy",
        onSelect: function (selected) {
            var dt = new Date(selected);
            dt.setDate(dt.getDate() - 1);
            ///$("#txtFrom").datepicker("option", "maxDate", dt);
        }
    });

【问题讨论】:

    标签: javascript jquery jquery-ui-datepicker


    【解决方案1】:

    您的日期格式错误。你需要写yy-mm-dd,而不是dd-M-yy

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

    https://jsfiddle.net/zfgh0ce2/

    您想从不符合 IETF 的 RFC 2822ISO 8601 日期字符串的 new Date('04-Nov-2019') 创建日期。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多