jquery 日期选择器在 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,
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);
}
});

您的日期格式错误。而不是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/

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

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

最新更新