繁体   English   中英

输入格式jQuery

[英]Input formatting jQuery

我正在使用此插件: jQuery-Mask-Plugin格式化输入。

我可以正常使用,但问题是我希望范围从0.0到6.0最大值开始。 这意味着当我放6时,我只能写6.0,而不能写6.1或6.3,...与0相同。

演示

 $('#test_numeral').mask('a.9', { 'translation': { a: { pattern: /[0-6]/ } } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.js"></script> <input type="text" id="test_numeral"> 

有没有办法使它与此插件一起使用,或者您知道可以执行此操作的插件吗?

如果大于6.0,则可以使用回调函数并更改其值

 $('#test_numeral').mask('a.9', { 'translation': { a: { pattern: /[0-6]/ } }, onKeyPress: function(cep, event, currentField, options) { if (cep > 6) { currentField.val('6.0'); } } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.mask/1.14.15/jquery.mask.js"></script> <input type="text" id="test_numeral"> 

正如Pavan Sikarwar指出的那样,使用回调函数非常好。

CodePen链接

与上面的脚本几乎相同,但是我没有将值设置为6.0,而是使您不能键入最后一个小数。

let opts = {
  'translation':
  {
    a:  
    {
      pattern: /[0-6]/
    }
  },
  onKeyPress: function(cep, event, currentField, options){
    if(cep > 6.0) { currentField.val('6.'); }
  }
}

$('#test_numeral').mask('a.0', opts);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM