2010-10-08 79 views
0

我有一個3列的表,我需要得到第二個coloumn中的值的總和,我保留一個ID用於識別添加的單元格。我需要在J查詢中執行它?我想知道如何使用for循環訪問表的每行和列。在表格的行中添加值?

<table> 
    <tr> 
     <td>ID</td> 
     <td>Mark</td> 
    <tr> 
     <td>1</td> 
     <td>40</td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td>35</td> 
    </tr> 
    <tr> 
     <td>1</td> 
     <td>52</td> 
    </tr> 
</table> 

我可以能夠使用像#tbl [行]一些索引訪問每個行[COL]等.Thnaks在提前 我需要添加值,其中ID將是一個預期輸出92 40 + 52]

+0

第二列中的值之和爲40 + 35 + 52 = 127.您是否故意忽略添加的第二行?如果是這樣,爲什麼?那麼應該將什麼'id's或'class's加在一起? – 2010-10-08 09:54:49

+0

@David Thomas-我很清楚'ID [1]:Mark [40]'和另一個'ID [1]:Mark [52]',並且OP將'Mark'加入'92','40 + 52'。那麼,我可能是錯的。 – Reigel 2010-10-08 09:57:21

+0

@Reigel - 是的,這是我需要的結果。我需要得到的總和,如果ID是相同的。 – kbvishnu 2010-10-08 10:01:21

回答

2

像這樣將工作:

​function getTotal(id) { 
    var total = 0; 
    $("td:first-child").filter(function() { return this.innerHTML == id; }) 
     .next().each(function() { total += parseInt(this.innerHTML, 10); }); 
    return total;   
} 

例如:

alert(getTotal(1)); // alerts 92 
alert(getTotal(2)); // alerts 35 

You can test it out here。,這是做的第一列的單元格,做一個.filter()到那些匹配的ID(不要使用:contains()這裏,這是一個子串匹配),然後對於匹配,使用.next()獲取相鄰單元格。對於那些單元格,我們只是使用praseInt()來獲取數字並將其添加到total

+0

謝謝你的答案。但我需要改變ID爲last.How我可以訪問最後一列。類似的條件。但該列的樣式設置爲顯示:無 – kbvishnu 2010-10-08 10:30:37

+0

@Hari - I沒有跟隨,你想要更新這些行中每一行的最後一列? – 2010-10-08 10:56:25

+0

@謝謝尼克:)我改變了一些代碼,並使它的工作感謝 – kbvishnu 2010-10-08 10:57:43