首页 文章

对于使用Inputmask插件屏蔽的texbox,第一次无法在月份字段中键入01

提问于
浏览
0

我有一个文本框,附有一个Datepicker,用于选择日期,我必须手动从键盘输入日期 . 我使用Github的插件输入掩码js实现了这个功能 . 但是,当首次加载页面并且我尝试将月份值输入为01的“01”时,应用于文本框的屏蔽显示为“10” . 解决方法是我可以输入“11”然后将第一个数字更改为0,但我希望避免这种情况 . 我希望我能让你们了解这个问题在此先感谢,我已将问题浓缩成下面的简单代码 .

P.S:我不希望占位符文本改变,如下面的答案中所述 . 它应该是“00/00/0000”并允许用户键入01 .

var maskConfig = {
        leapday: "29-02-",
        separator: "/",
        showMaskOnHover: false,
        showMaskOnFocus: false,
        placeholder: "00/00/0000"
    }

    $('#datepicker1').inputmask('mm/dd/yyyy', maskConfig);
    
    $('#datepicker1').datepicker({
        dateFormat: "mm/dd/yy",
        changeMonth: true,
        changeYear: true,
        
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/jquery.inputmask.bundle.min.js"></script>

<input type="text" id="datepicker1"/>

1 回答

  • 1

    改变这一行

    placeholder: "00/00/0000"
    

    至:

    placeholder: "01/00/0000"
    
    var maskConfig = {
            leapday: "29-02-",
            separator: "/",
            showMaskOnHover: true,
            showMaskOnFocus: true,
            placeholder: "01/00/0000"
        }
    
        $('#datepicker1').inputmask('mm/dd/yyyy', maskConfig);
        
        $('#datepicker1').datepicker({
            dateFormat: "mm/dd/yy",
            changeMonth: false,
            changeYear: false,
            
        });
    
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.inputmask/3.3.4/jquery.inputmask.bundle.min.js"></script>
    
    <input type="text" id="datepicker1"/>
    

相关问题