我有以下动态生成的列表。如果产品的qty输入小于可用的数量,我想能够做一些简单的Jquery验证,我想提醒用户。我想要使用的事件很可能是.change()事件,因为我希望在用户尝试提交表单之前进行验证。我遇到的问题是我需要一个捕获所有解决方案,因为id是动态驱动的。不知道从哪里开始。
<ul>
<li>
<input class="shipment_qty_field" id="qty_product_1" type="text" />
</li>
<li></li>
<li></li>
<li id ="avail_qty_product_1></li>
</ul>
<ul>
<li>
<input class="shipment_qty_field" id="qty_product_2" type="text" />
</li>
<li></li>
<li></li>
<li id="avail_qty_product_2"></li>
</ul>
<ul>
<li>
<input class="shipment_qty_field" id="qty_product_3" type="text" />
</li>
<li></li>
<li></li>
<li id="avail_qty_product_3"></li>
</ul>
答案 0 :(得分:1)
将你的所有符号设为id =“avail_qty_product_xx”并将值保留在包含输入标记的li中作为'data-qty',例如:
<li class="qty_container" data-qty="3">
<input class="shipment_qty_field" type="text" />
</li>
然后您可以为li
添加更改处理程序
$('li.qty_container input').change(function() {
threshold = parseInt($(this).closest('li').data('qty'))
if(parseInt($(this).val()) > threshold) {
alert('threshold exceeded!')
}
})