输入格式化jQuery

时间:2018-05-04 12:41:07

标签: javascript jquery formatting

我正在使用此插件: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">

有没有办法让它可以使用这个插件,或者你知道这样的插件可以做这件事吗?

2 个答案:

答案 0 :(得分:3)

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

&#13;
&#13;
$('#test_numeral').mask('a.9', {
    'translation': {
        a: {
            pattern: /[0-6]/
        }
    },
    onKeyPress: function(cep, event, currentField, options) {
        if (cep > 6) {
            currentField.val('6.0');
        }
    }
});
&#13;
<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">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

正如Pavan Sikarwar所指出的,使用回调函数非常棒。

CodePen Link

与上面几乎完全相同的脚本,但我没有将值设置为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);