如何在Jquery中遍历表并添加一个类?

时间:2012-06-26 15:06:29

标签: jquery jquery-validate

我有一个两行的简单表。第一栏是必需的,但其他栏则不是; 但是,我希望它们成对使用。因此,如果用户输入Quantity3的值,那么现在也需要Size3。

作为小提琴:http://jsfiddle.net/NaRts/7/

<tr>
    <td><input name="qty1[492]" class="qty required" type="text"></td>
    <td><input name="qty2[492]" class="qty" type="text"></td>
    <td><input name="qty3[492]" class="qty" type="text"></td>
</tr><tr>
    <td><input name="size1[492]" type="text" class="size required" ></td>
    <td><input name="size2[492]" type="text" class="size" ></td>
    <td><input name="size3[492]" type="text" class="size" ></td>
</tr>

我所拥有的简单jQuery是:

$('.qty').keyup(function() {
    var s       = $(this).attr('name');            // = qty3[418]
    var qtyID   = s.replace(/[^1-9\[\]]/g, "");    // = 3[418] 
    var SizeID  = "size" + qtyID;

    var $sizeInput = $(this).closest('tr').next().find(SizeID);
    $sizeInput.css('background-color', 'green');
    $sizeInput.addClass('required'); 

   //I tried this too but it didn't work 
   //$(this).parent().find(SizeID).addClass('required');                


});​

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

编辑:已移除.each

试试这个:

$(document).ready(function(){
      $('.qty').keypress(function(){
      var s       = $(this).attr('name');
      var qtyID   = s.replace(/[^1-9\[\]]/g, "");  
      var sizeID  = "size" + qtyID;
      var sizeInput = $("input[name='" + sizeID + "']");    
      $(sizeInput).css('background-color', 'green');
      $(sizeInput).addClass('required');
    });  
});