2013-07-09 79 views
3

我怎樣才能總結td輸入值在一個TR?總和TD在一個TR

<table> 
    <tr class="here"> 
     <td><input type="text" class="one" value="2" /></td> 
     <td><input type="text" class="two" value="4" /></td> 
     <td><input type="text" class="three" value="5" /></td> 
     <td><input type="text" class="four" value="3" /></td> 
     <td><input type="text" class="sum" /></td> 
     <td><input type="text" class="five" value="2" /></td> 
    </tr> 
    <tr class="here"> 
     <td><input type="text" class="one" value="2" /></td> 
     <td><input type="text" class="two" value="4" /></td> 
     <td><input type="text" class="three" value="5" /></td> 
     <td><input type="text" class="four" value="3" /></td> 
     <td><input type="text" class="sum" /></td> 
     <td><input type="text" class="five" value="2" /></td> 
    </tr> 
    <tr class="here"> 
     <td><input type="text" class="one" value="2" /></td> 
     <td><input type="text" class="two" value="6" /></td> 
     <td><input type="text" class="three" value="4" /></td> 
     <td><input type="text" class="four" value="2" /></td> 
     <td><input type="text" class="sum" /></td> 
     <td><input type="text" class="five" value="2" /></td> 
    </tr> 
    <tr class="here"> 
     <td><input type="text" class="one" value="5" /></td> 
     <td><input type="text" class="two" value="2" /></td> 
     <td><input type="text" class="three" value="3" /></td> 
     <td><input type="text" class="four" value="8" /></td> 
     <td><input type="text" class="sum" /></td> 
     <td><input type="text" class="five" value="4" /></td> 
    </tr>  
</table> 

LIVE DEMO

我可以總結與功能的所有值。每次但如何讓這對每個TR,不是TD?

我想輸入與TWO類和THREE類和FOUR類的總和值,並將其添加到同一TR類SUM輸入。

在我的例子應該是:

2 4 5 3 **12** 2 // 4+5+3 
2 4 5 3 **12** 2 // 4+5+3 
2 6 4 2 **12** 2 // 6+4+2 
5 2 3 8 **13** 4 // 2+3+8 
+2

請不要鏈接到可消失外部資源,從而使你的問題無用給他人。包括一個樣本作爲你的問題的一部分。 –

+2

你做了你自己的嘗試嗎? – George

回答

10

您的代碼應該是這樣的。

您需要遍歷td與有問題的特定類並總結這些值。然後將該值分配給您所指的輸入。

$('tr.here').each(function(){ 
    var sum = 0; 
    $('.two, .three, .four', this).each(function() { 
     sum += parseFloat(this.value); 
    }); 

    $('.sum', this).val(sum); 
}) 

Check Fiddle

+2

爲什麼會有人低估這個答案?它的功能與OP描述的完全一致。 – nickb

+0

謝謝,工作完美:)但爲什麼在第二個每個都是「這個」? – user2565589

+2

這是上下文選擇器。你只想總結'當前行'類中的值,但不是所有的值都在一起..這與$(this).find('。two,。三,.find')'..檢查文檔http://api.jquery.com/jQuery/#jQuery1 –

1

試試下面的代碼

$('tr.here').each(function() { 
    var sum = parseFloat($(this).find('.two').val()) + parseFloat($(this).find('.three').val()) + parseFloat($(this).find('.four').val()); 

    $(this).find('.sum').val(sum); 
}) 

入住這Fiddle