我有一个简单的表单,如下所示:
<tr>
<td> <input type="text" name="qty[]" placeholder="qty"/> </td>
<td> <input type="text" name="price[]" placeholder="price"/> </td>
<td> <input type="text" name="total[]" placeholder="Total"/> </td>
</tr>
我们可以使用与上面相同的多行。
我需要的是,当用户输入qty
或price
时,行total
需要更新。
我尝试过的方法:
$('input[name=\'qty[]\']').on('change keyup', function(){
var qty = $(this).val();
var price = $(this).parent('tr').find('input[name=\'price[]\']').val();
});
price
是 undefined
或者有更简单的方法吗?请查看Fiddle
更新:
.parent(..)
选择当前元素集合中每个元素的直接父元素。第一个参数筛选这个集合。你输入元素的直接父元素是 td
元素,而不是 tr
元素。
更新的Fiddle
.parent(..)
选择集合中每个元素的父级,该父级由选择器进行筛选。直接的父级是td
,而不是tr
。 - Sumurai8.parent().parent()
;因为在该集合中您没有超过1个元素... - Sumurai8