【问题标题】:jquery datepicker and jquery mask not workingjquery datepicker和jquery掩码不起作用
【发布时间】:2014-08-05 10:32:52
【问题描述】:

我有这段代码使用jquery datepickerjquery masked input

jQuery(function($) {
    $(document).on('click', '#date', function () { 
        var me = $("#date");   
        me.datepicker({
            showOn: 'focus',
            altFormat: "mm/dd/yy",
            dateFormat: "mm/dd/yy",
            minDate: '12/12/2000',
            maxDate: '12/12/2020'
        }).focus();
        me.mask('99/99/9999');
    }).on('select', '#date', function () {
        var me = $("#date");
        me.mask('99/99/9999');
    });
});

JSFiddle

代码使用jquery on,因为应用程序中的输入元素是动态添加到页面中的。并且被屏蔽的输入也是从select 事件中注册的,因为用户可以通过从上一个输入中按 Tab 来进入输入。

它不适用于Firefox 31,但它在Chrome 36IE 11 上运行良好。 当输入字段为空时,用户应该能够在输入元素中输入任何内容(基于屏蔽过滤器)。

请告诉我代码有什么问题。

【问题讨论】:

  • 试试这个jsfiddle.net/6Z2Ws/2
  • @AamirAfridi,感谢您的帮助,但是当从另一个输入激活输入时(例如,从上一个输入按 Tab)也需要掩码,无论如何我已经解决了,谢谢

标签: javascript jquery jquery-ui datepicker maskedinput


【解决方案1】:

刚刚通过将select 更改为focus 来修复它,我不记得为什么我首先使用select

jQuery(function($) {
    $(document).on('click', '#date', function () { 
        var me = $("#date");   
        me.datepicker({
            showOn: 'focus',
            altFormat: "mm/dd/yy",
            dateFormat: "mm/dd/yy",
            minDate: '12/12/2000',
            maxDate: '12/12/2020'
        }).focus();
    }).on('focus', '#date', function () {
        var me = $("#date");
        me.mask('99/99/9999');
    });
});

Fixed JSFiddle

【讨论】:

  • 你为什么不只使用一个 focus 事件? jsfiddle.net/uLZ6y(注意:您错过了所有type 输入属性后的= 签名)
  • @Brewal,谢谢。该要求要求日期选择器在单击时出现
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-14
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多