使用JQuery增加输入类型编号的值

时间:2015-02-12 17:10:43

标签: javascript jquery html

我尝试使用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/

有谁知道

2 个答案:

答案 0 :(得分:2)

jsfiddle demo

你需要将值解析为整数,否则它将被视为一个字符串,因此它将连接而不是加在一起。

count = parseInt($(this).parent().find('#book-qty').val());

您还需要为输入指定默认值,如Mex所述。

答案 1 :(得分:1)

在输入类型=数字上使用“value = 0”将默认值设置为0。

然后使用:

count = parseInt(count) + 1;

而不是:

count = count + 1;