使用jQuery和单击按钮更改输入数字

时间:2019-05-12 18:45:16

标签: jquery

我有以下HTML代码

ll = map(L, summary)

ll

plyr::ldply(ll, rbind)

> ll = map(L, summary)
> ll
[[1]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 0.9821  3.3321  3.9587  3.9495  4.6251  7.2291 

[[2]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 -4.331   1.347   3.726   3.793   6.653  16.845      26 

[[3]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
-0.3717  2.3360  3.0125  3.0174  3.7022  6.5847 

[[4]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 -2.657   1.795   3.039   3.013   4.395   9.942     332 

[[5]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
 -2.363   2.503   3.909   3.920   5.327  10.349 

[[6]]
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
 -3.278   1.449   2.732   2.761   4.062   8.171     346 

> plyr::ldply(ll, rbind)
        Min.  1st Qu.   Median     Mean  3rd Qu.      Max. NA's
1  0.9820673 3.332066 3.958665 3.949512 4.625109  7.229069   NA
2 -4.3312551 1.346532 3.725708 3.793431 6.652917 16.844796   26
3 -0.3717391 2.335959 3.012507 3.017438 3.702156  6.584659   NA
4 -2.6569493 1.795307 3.038905 3.012928 4.395338  9.941819  332
5 -2.3625651 2.503324 3.908727 3.920050 5.327401 10.349040   NA
6 -3.2779863 1.448814 2.732515 2.760569 4.061854  8.170793  346

我想做的是,每当有人单击输入侧面的+/-按钮时,将输入的值增加/减少一。

这是我正在使用的jQuery代码

<span id="bedrooms-minus" class="filter_sign">-</span>
<input type="number" min="0" max="10" id="bedrooms" value="1"/>
<span id="bedrooms-plus" class="filter_sign">+</span>

但是,当我单击它时,它没有更新值,而是将其更改为-1或1。

这是一个复制错误的jsfiddle

https://jsfiddle.net/ug395zck/

1 个答案:

答案 0 :(得分:2)

根据操作优先级,将先计算+,然后计算条件运算符。因此,您最终得到1或-1。在添加1或-1之前添加方括号。

$("#bedrooms-minus,#bedrooms-plus").click(function(){
        var value = parseInt($("#bedrooms").val(), 10);
        $("#bedrooms").val(value + ($(this).is("#bedrooms-minus") ? -1 : 1));
    });

此外,当“输入”为“数字”时,您不需要那两个按钮。向上箭头键和向下箭头键将分别增加或减少数字