我使用简单的减号/加jsfiddle来添加或删除输入字段中的数字。但是,我试图找出设置最大值的最佳方法,这意味着如果用户试图键入大于10的数字或使用加号功能,他们无法通过10.什么是实现该目标的最佳方法?
jQuery(document).ready(function(){
// This button will increment the value
$('.qtyplus').click(function(e){
// Stop acting like a button
e.preventDefault();
// Get the field name
fieldName = $(this).attr('field');
// Get its current value
var currentVal = parseInt($('input[name='+fieldName+']').val());
// If is not undefined
if (!isNaN(currentVal)) {
// Increment
$('input[name='+fieldName+']').val(currentVal + 1);
} else {
// Otherwise put a 0 there
$('input[name='+fieldName+']').val(0);
}
});
// This button will decrement the value till 0
$(".qtyminus").click(function(e) {
// Stop acting like a button
e.preventDefault();
// Get the field name
fieldName = $(this).attr('field');
// Get its current value
var currentVal = parseInt($('input[name='+fieldName+']').val());
// If it isn't undefined or its greater than 0
if (!isNaN(currentVal) && currentVal > 0) {
// Decrement one
$('input[name='+fieldName+']').val(currentVal - 1);
} else {
// Otherwise put a 0 there
$('input[name='+fieldName+']').val(0);
}
});
});
答案 0 :(得分:1)
您无需plus
和minus
按钮即可实现此目的。具有input
和number
属性的min
类型max
会为您执行此操作。
<input type='Number' name='quantity' value='0' class='qty' max="10" min="0" />
&#13;
如果您仍想使用按钮,请参阅this fiddle并阻止用户超越 10
答案 1 :(得分:1)
如果您只对JS / jQuery解决方案感兴趣,只需更改第11行:
if (!isNaN(currentVal) && currentVal < 10) {
^~~~~~~~~~~~~~~~~~~^---------[Add this to line 11
http://jsfiddle.net/zer00ne/snwxaLx7/
要将值保持为10而不是重置为0,请更改第16行:
$('input[name=' + fieldName + ']').val(10);
^^-----[Change 0 into 10