在使用 jQuery UI Datepicker 时,我们在 Google Chrome 中使用时遇到一个问题: 当我们输入大于 12 的日期时,它不接受它作为有效日期,这是因为 chrome 认为日期格式是 mm/dd/yyyy。我们尝试通过添加代码来尝试将日期设置强制为 dd/mm/yyyy 来解决此问题
$('.date').datepicker({ dateFormat: "dd/mm/yy" });
有没有办法解决这个问题,让我们的日期选择器接受 dd/mm/yyyy 值? 我们仅在 google Chrome 中遇到此问题,日期修复适用于 firefox、ie 和 safari。 我们在这个项目中使用 ASPX 和 MVC3。
如果有人可以解决我们的问题,那就太好了
谢谢
最佳答案
我也遇到了同样的问题,并且与所有基于 Webkit 的网络浏览器有关。如果您设置大写 M,文本框将显示带有字母的飞蛾。对我来说最好的解决方案是覆盖 jquery.validate.js 中的验证日期函数
创建 jquery.validate.date.js 并确保它在 jquery.validate.js 之后加载
将以下代码添加到jquery.validate.date.js
$(function() {
$.validator.methods.date = function (value, element) {
if ($.browser.webkit) {
//ES - Chrome does not use the locale when new Date objects instantiated:
var d = new Date();
return this.optional(element) || !/Invalid|NaN/.test(new Date(d.toLocaleDateString(value)));
}
else {
return this.optional(element) || !/Invalid|NaN/.test(new Date(value));
}
};
});
关于Jquery 日期选择器 Chrome,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5966244/