【问题标题】:Adding jquery mask to input, removing 0 as default将 jquery 掩码添加到输入,默认删除 0
【发布时间】:2018-08-08 17:43:53
【问题描述】:

我想在我的输入上使用https://igorescobar.github.io/jQuery-Mask-Plugin/,所以我可以定义我的掩码,所以它在输入的开头总是有两个零。不知何故,插件将 0 识别为其他东西......

例如,我想在输入的开头输入 00,因此用户可以添加他手机的其余部分,“00 49 355-559”,掩码为“0000-000-000”,如果我想要两个两个的面具,因为“2200-000-000”总是把 22 放在开头。那么如何在开始时设置零呢?

我已经尝试过这样的 jquery,但到目前为止只能与粘贴事件一起正常工作,因为我不希望值最初存在,只有当用户开始输入或粘贴输入值时...

$('#myInput').mask("0000-000-000");
$('#myInput').on("paste", function () {
        $(this).val("000-0");
    });

【问题讨论】:

  • 您可以修改掩码中 0 字符的功能,使其不是任何数字的通配符。请参阅docs.,特别是translation。我建议将其更改为d,然后模式将是00 dd ddd-ddd
  • 将掩码更改为“00dd-ddd-ddd”让我得到“digit digit dd-ddd-ddd”,或者我应该在我的 .js 文件上使用翻译,以便我可以更改功能?跨度>

标签: jquery input


【解决方案1】:

使用可用的选项,例如 onKeyPressonChange

  $(document).ready(function() {
   var options = {
     onComplete: function(cep, event, currentField) {
       console.log('OK CEP Completed!:' + cep);
       var prefix = "00";
       var val = cep;
       if (val.indexOf(prefix) !== 0) {
         event.target.value = prefix + val;
       }
    },
    onKeyPress: function(cep, event, currentField, options) {
      console.log('OK A key was pressed!:', cep, ' event: ', event,
        'currentField: ', currentField, ' options: ', options);
       var prefix = "00";
       var val = event.target.value;
       if (val.indexOf(prefix) !== 0) {
         event.target.value = prefix + val;
       }    
    },
    onChange: function(cep, event) {
      console.log('OK cep changed! ', cep);
      var prefix = "00"
      if (cep.indexOf(prefix) !== 0) {
        event.target.value = prefix + cep;
      }
    },
    onInvalid: function(val, e, f, invalid, options) {
      var error = invalid[0];
      console.log("Digit: ", error.v, " is invalid for the position: ", error.p, ". We expect something like: ", error.e);
    }
  };


  $('#text').mask('0000-000-000', options);

});

【讨论】:

  • 这很好,但在退格键上删除它似乎被破坏了
  • 您可以在 KeyPress 方法中检查 delete 或 backspace 的条件。喜欢var key = event.keyCode || event.charCode;
猜你喜欢
  • 1970-01-01
  • 2020-05-06
  • 2020-12-17
  • 2023-03-29
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多