我正在研究数量特征。在某些部分,它需要超过1个数量。我已经做了1个数量,效果很好。但是当我有一个多重数量时,它就不起作用了。当我单击其中一个按钮时,其他按钮也会受到影响。
我一直在试图找到这个问题的解决方案,但没有任何东西符合我创建的代码。有人能帮我吗?
$(document).ready(function() {
let $input = $(".quantity__value");
$(".quantity__trigger").click(function(){
if ($(this).hasClass('quantity__increment'))
$input.val(parseInt($input.val())+1);
else if ($input.val()>=1)
$input.val(parseInt($input.val())-1);
});
});
.table__checkout__body--qty{
margin-bottom:20px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="table__checkout__body--qty">
<div class="wrapper">
<div class="quantity__base">
<button class="quantity__decrement quantity__trigger">-</button>
<input type="text" class="quantity__value" value="0" readonly>
<button class="quantity__increment quantity__trigger">+</button>
</div>
</div>
</div>
<div class="table__checkout__body--qty">
<div class="wrapper">
<div class="quantity__base">
<button class="quantity__decrement quantity__trigger">-</button>
<input type="text" class="quantity__value" value="0" readonly>
<button class="quantity__increment quantity__trigger">+</button>
</div>
</div>
</div>
<div class="table__checkout__body--qty">
<div class="wrapper">
<div class="quantity__base">
<button class="quantity__decrement quantity__trigger">-</button>
<input type="text" class="quantity__value" value="0" readonly>
<button class="quantity__increment quantity__trigger">+</button>
</div>
</div>
</div>
4条答案
按热度按时间dm7nw8vv1#
问题是
let $input = $(".quantity__value");
将始终选择所有输入,因为所有输入都具有该类。您需要为输入提供单独的ID,并将其作为参数传递给函数。以下是一个例子:6qfn3psc2#
您可以尝试以下代码:
wlwcrazw3#
在单击框内,您需要重新找到相关的/相关的
.quantity__value
而不是在点击之外得到一次更新的代码段:
wlzqhblo4#
不要更改html,对jquery代码做任何您需要的事情,因为在许多项目中,您不能或没有权限更改html输出,所以我编写此代码是为了在不更改html输出的情况下解决您的问题,再加上更少的jquery代码,以便在客户端获得最佳性能
其他建议:
在此场景中不要使用输入类型文本
不要添加“readonly”元素以获得更好的用户体验