我有一个两行的简单表。第一栏是必需的,但其他栏则不是; 但是,我希望它们成对使用。因此,如果用户输入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');
});
非常感谢任何帮助。
答案 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');
});
});