如何定位特定表行输入中的所有输入

时间:2013-02-13 06:12:13

标签: jquery

我有一个下表结构。

<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();
   });
});

2 个答案:

答案 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(){
   ...
});