混合/最大范围应用于特定数字输入字段

时间:2018-09-03 10:54:27

标签: javascript jquery html html5 jquery-selectors

使用a solution from a relevant question,如何通过将输入范围限制在0到0.20之间来使用以下脚本仅对特定输入起作用?例如,我有两个数字输入,其ID为“ A”和“ B”,我只希望以下脚本在输入id =“ A”上起作用。

$('input').on('input', function () {
    
    var value = this.value;
    
    if (value !== '') {
        value = parseFloat(value);
        
        if (value < 0)
            this.value = 0;
        else if (value > 0.20)
            this.value = 0.20;
    }
    
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="number" id="a" value="0" />
<input type="number" id="b" value="0" />

2 个答案:

答案 0 :(得分:1)

使用特定元素的ID。

$('#a').on('input', function () {

演示:

$('#a').on('input', function() {

  var value = this.value;

  if (value !== '') {
    value = parseFloat(value);

    if (value < 0)
      this.value = 0;
    else if (value > 0.20)
      this.value = 0.20;
  }

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="number" id="a" value="0" />
<input type="number" id="b" value="0" />

或者,如果您只需要支持与HTML5兼容的浏览器,则可以抛弃JavaScript,而只需在元素本身上使用minmax属性。您还可以使用step来控制按钮将值增加多少,这在输入范围很小的情况下很有意义:

<input type="number" id="a" value="0" min="0" max="0.2" step="0.1" />
<input type="number" id="b" value="0" />

答案 1 :(得分:1)

将选择器从选择所有输入更改为仅所需的输入,例如$('#a').on('input', ...