检查输入值是否小于x,如果是,则将其更改为jQuery中的x

时间:2017-09-04 11:36:51

标签: jquery html

如果用户将输入值更改为小于1,我想将输入值更改为1.每次更改值时都应该有效。到目前为止,我可以无条件地将值更改为1:

jQuery(document).ready(function() {
    jQuery('input[type=text]').val('1');
});

接下来我该怎么做?

3 个答案:

答案 0 :(得分:1)

收听您输入的change事件。

jQuery('input[type=text]').on('change', function () {
    if (jQuery(this).val() < 1) {
        jQuery(this).val('1');
    }
}

但也许你想用<input type="number" min="1">代替?

答案 1 :(得分:0)

您可以使用change事件和if语句。

以下代码可以读作&#34;当myInput的值发生变化时,如果myInput的值小于1,则将myInput的值设置为1&#34;

jQuery('input[type=text]').on('change', function () {
    var myInput = jQuery(this);

    if (myInput.val() < 1) {
        myInput.val('1');
    }
});

示例:

&#13;
&#13;
jQuery('input[type=text]').on('change', function () {
    var myInput = jQuery(this);

    if (myInput.val() < 1) {
        myInput.val('1');
    }
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="text">
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您需要为输入本身添加changekeyup的事件监听器。

$(function() {
  $('#myval').on('change', function() {
    // allow minimum of 1
    $(this).val(Math.max($(this).val(), 1))
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="myval" value="1" />

虽然在您的具体情况下,您可以只输入number类型,并为其添加min属性以获得相同的结果:

<input type="number" id="myval" value="1" min="1" />