我试图阻止用户在输入框中输入0。
HTML code:
<input class="billMenuQuantity" type="number" name="quantity">
Jquery代码:
$('.billMenuQuantity').on('keyup keydown', function (e) {
if ($(this).val() < 1 && e.keyCode != 46 && e.keyCode != 8) {
e.preventDefault();
$(this).val(1);
}
});
它阻止用户输入0,但它也阻止用户输入除1之外的任何其他单个数字(即2-9)。它接受双位数字(即11,12等)。
任何人都能帮助我吗?
答案 0 :(得分:2)
只需测试
的长度code === 96
和input-value
$('.billMenuQuantity').on('keyup keydown', function(e) {
var code = e.keyCode || e.which;
if (this.value.length === 0 && code === 96) {
e.preventDefault();
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<input class="billMenuQuantity" type="number" name="quantity">
&#13;
答案 1 :(得分:0)
试试这个
$(this).val() == 0
代替$(this).val() < 1
$('.billMenuQuantity').on('keyup keydown', function (e) {
if ($(this).val() == 0 && e.keyCode != 46 && e.keyCode != 8) {
e.preventDefault();
$(this).val(1);
}
});