如何使用 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/

有人知道吗?

在输入 type=number 上使用 "value=0" 将默认值设置为 0。

然后使用:

count = parseInt(count) + 1;

而不是:

count = count + 1;

jsfiddle demo

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

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

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