我试图限制我的两个输入字段的输入值数量仅为三个。例如:
我尝试了以下代码,但它似乎没有按照我想要的方式做出反应...它没有将值总数限制在3。它在浏览器中这样做,但是当我查看控制台时,它仍然继续。
输入1 = 1,输入2 = 2。所以,1 + 2 = 3或2 + 1 = 3
,或者如果一个输入中的值达到3,则用户将无法添加更多。有其他类似的问题,但它们通常只适用于1个输入字段。我希望对组合字段进行限制。我尝试了以下代码,但它似乎没有按照我想要的方式做出反应...它没有将值总数限制在3。它在浏览器中这样做,但是当我查看控制台时,它仍然继续。
$('.qty_pack').change(function() {
var i = 0;
if (i >= 3) {
$(this).parent().find('.qty_pack').val(0);
console.log('You have reached max items');
}
$('.check_sales_pack').each(function() {
i += parseFloat($(this).parent().find('.qty_pack').val())
});
console.log(i);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<input type="hidden" class="check_sales_pack" name="check_sales_pack">
<input type="number" class="qty_pack" name="qty_pack" value="0" min="0" max="3">
<input type="number" class="qty_pack" name="qty_pack" value="0" min="0" max="3">
</div>
.parent()
是因为在同一页上可能会有多个.qty_pack
组。在这种情况下,最好使用$(this).parent().find('.qty_pack').each(...)
:) - TerrypreventDefault
或类似的方法来还原输入的值。 - CertainPerformance