我有一个下表结构。
<table>
<thead>
<tr>
<td>id</td>
<td>Name</td>
<td>Total</td>
</td>
<tbody>
<tr>
<td><input type="text" name="" /></td>
<td><input type="text" name="" /></td>
<td><input type="text" name="total" /></td>
</tr>
<tr>
<td><input type="text" name="" /></td>
<td><input type="text" name="" /></td>
<td><input type="text" name="total" /></td>
</tr>
</tbody>
如何使用jquery将每行的总值提取到总列。我试过这样的。
var total;
$("table tbody tr td input[type=text]").live('keyup blur', function(){
$(this).parent('tbody tr').find('input[type=text]').each(function(){
var tot += $(this).val();
});
});
答案 0 :(得分:0)
将其更改为:
$("table tbody tr td input[type=text]").live('keyup blur', function(){
$(this).parent('tr').find('input[type=text]').each(function(){
var tot += $(this).val();
});
});
原因是,<tbody>
包含所有<tr>
个。所以现在以这种方式更新,它只选择<tr>
,当前行并选择其中的所有输入。
答案 1 :(得分:0)
你可以使用parent();
parent()只对DOM树进行单层升级。
所以应该带你去<tr>
$(this).parent().find('input[type=text]').each(function(){
...
});