使用jQuery和单击按钮更改输入编号

使用jQuery和单击按钮更改输入编号,jquery,Jquery,我有以下HTML代码 <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 下面是一个带

我有以下HTML代码

<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

下面是一个带有bug复制的JSFIDLE


根据操作优先级,首先计算+然后计算条件运算符。因此,最终得到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));
    });

此外,当“输入”为“数字”时,您不需要这两个按钮。上箭头键和下箭头键将根据操作优先级分别递增和递减数字,+将首先计算,然后计算条件运算符。因此,最终得到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));
    });

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

它正在工作!非常感谢。关于输入编号,这是一个设计请求,使其看起来像JSFIDLE。是否可以添加一个解释,解释为什么没有括号它就不能工作?这是因为它首先添加&然后根据优先级检查条件运算符。输出值+$(此).is(“#卧室减去”)将首先获得,并根据此输出分配1或-1。它正在工作!非常感谢。关于输入编号,这是一个设计请求,使其看起来像JSFIDLE。是否可以添加一个解释,解释为什么没有括号它就不能工作?这是因为它首先添加&然后根据优先级检查条件运算符。将首先获得值+$(this).is(“#卧室减去”)的输出,并基于此输出分配1或-1。