Jquery 日期选择器 Chrome

标签 jquery jquery-ui asp.net-mvc-3 datetimepicker

在使用 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/

相关文章:

JQuery Accordion 抖动问题

javascript - jQuery EasyUI : confirmation on close window

javascript - 使用 JQuery 或 CSS3 Transitions(或两者)操作内联文本

c# - 在mvc中创建 View

javascript - 在元素附近激活悬停的方法

javascript - 覆盖 html 和 css 以使用 jquery fullcalendar 修改月历上的日期单元格

javascript - jquery drag/drop - 用鼠标激活 dropzone 而不是拖动元素的中心

asp.net-mvc - MVC 3 验证隐藏输入上的 htmlAttributes

asp.net - 阐明 ASP.NET 生命周期事件的顺序

jquery - 是否有不需要 html anchor 的灯箱脚本