0

我有以下动态生成的列表。如果产品的数量输入少于可用数量,我希望能够进行一些简单的 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>
4

1 回答 1

1

使用 id = "avail_qty_product_xx" 获取所有 li 并将值粘贴到 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!')
   }
})

于 2012-10-04T15:16:09.687 回答