动态生成的文本框字段上的Jquery Rails验证

时间:2012-10-04 15:02:51

标签: javascript jquery validation

我有以下动态生成的列表。如果产品的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>

1 个答案:

答案 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!')
   }
})