我尝试使用input type="number"
增加jQuery
元素的值。但是我现在有了它,所以每当我按下添加按钮时它会将值附加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);
});
我是一个在这里工作的小伙子:
https://jsfiddle.net/javacadabra/L1sLr921/
有谁知道
答案 0 :(得分:2)
你需要将值解析为整数,否则它将被视为一个字符串,因此它将连接而不是加在一起。
count = parseInt($(this).parent().find('#book-qty').val());
您还需要为输入指定默认值,如Mex所述。
答案 1 :(得分:1)
在输入类型=数字上使用“value = 0”将默认值设置为0。
然后使用:
count = parseInt(count) + 1;
而不是:
count = count + 1;