如何使用jQuery增加type=number输入的值
How do I increment the value of an input of type=number using jQuery?
我正在尝试使用jQuery
来增加input type="number"
元素的值。然而,我现在有它,所以每次我按下添加按钮时,它都会在值上加1,所以我会得到一个值,比如1111
等…
当它被设置为type=text
时,我可以做得很好,但这并不理想,因为我试图增加值,所以所发生的只是计数器被附加到输入框的值。输出类似于01 02 03 04
。
目前,我正在做这个:
HTML
<input type="number" class="qty" id="book-qty" disabled/>
<span class="add">ADD</span>
jQuery
var count = 0;
$('.minus').click(function () {
if (count - 1 >= 0) {
count = parseInt($(this).parent().find('#book-qty').val());
count = count - 1;
$(this).parent().find('#book-qty').val(count);
} else {
alert('Nothing to take away!');
}
});
$('.add').click(function () {
count = $(this).parent().find('#book-qty').val();
count = count + 1;
$(this).parent().find('#book-qty').val(count);
});
我有一个JSFiddle正在这里工作:
https://jsfiddle.net/javacadabra/L1sLr921/
有人知道吗?
jsfiddle演示
您需要将该值解析为一个整数,否则它将被视为一个字符串,因此它将进行连接而不是相加。
count = parseInt($('#book-qty').val());
此外,您还需要为您的输入指定一个默认值,如Mex.所述。
将默认值设置为0,输入type=number上的"value=0"。
然后使用:
count = parseInt(count) + 1;
而不是:
count = count + 1;
相关文章:
- 使用模式格式化Number类型输入中的值
- 为什么Angularjs验证don't与输入[type=“number”]一起工作
- 如何保存输入type=number或解析javascript sdk
- 如何使用jQuery增加type=number输入的值
- 在移动设备上,如何让“输入”在 type=“number” 输入中提交表单
- JavaScript 函数检索输入 [type=number] 并根据值过滤它们
- html标记输入类型=“number”和基于区域性的十进制分隔符
- 在输入[type='number']Edge总是为`valueAsNumber`返回`NaN`
- 在angular中绑定时,输入[number]字段不显示字符串值
- 查找所有的输入type="number">在浏览器中不支持它们的页面上
- AngularJS:为type="number"在angular解析任何东西之前输入元素
- 当输入字段"type=number"在simplecart中添加项时为空
- 在angular指令中输入类型number会产生字符串
- 为什么“;& lt;输入类型=“number"/比;“;无法在angular 1.4.6的chrome中编辑
- 希望用户输入number for for循环来运行Javascript
- 在输入类型number中添加千个逗号分隔符
- 保留输入值,而不管输入类型="number"是否验证
- 从输入类型number中获取无效值
- 输入type = "number"时,Angular指令不能工作
- 限制html5中小数的数量type="number"输入字段(使用Angularjs模型)