如何使用jQuery增加type=number输入的值

How do I increment the value of an input of type=number using jQuery?

本文关键字:number 输入 type 何使用 jQuery 增加      更新时间:2023-10-26

我正在尝试使用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;