2011-04-01 114 views
0

我試圖創建一個動態的總生成器,當相對複選框被選中時,它會爲總數增加一個值,但我正在努力應對選擇器邏輯。任何人都可以指出我錯在哪裏,我是JQuery的初學者。以下是我有Jquery選擇器來生成複選框被勾選的總數

function calculateSelected(){ 
    var sum = 0; 
    $('tr input:checked .price').each(function() { 
      sum += parseFloat($(this).text()); 
     }); 
    $('#total').html(sum) 
} 

這是表

<table> 
<tr> 
<td><input type="checkbox" value='1' /><td> 
<td class='price'>100</td> 
</tr> 
<tr> 
<td><input type="checkbox" value='1' /><td> 
<td class='price'>100</td> 
</tr> 
<tr> 
<td><input type="checkbox" value='1' /><td> 
<td class='price'>100</td> 
</tr> 
<tr> 
<td><input type="checkbox" value='1' /><td> 
<td class='price'>100</td> 
</tr> 
<tr> 
<td>Total<td> 
<td id='total'></td> 
</tr> 
</table> 
+0

你是否用Firebug(http://getfirebug.com/)調試過這個問題,看看有沒有失效的特定部件? – StuperUser 2011-04-01 13:44:16

+0

它運行良好,但我認爲是因爲它沒有返回一個值的slector是錯誤的 – Alistair 2011-04-01 13:45:23

回答

2

這是什麼確切地選擇的簡化版本?

$('tr input:checked .price') 

您的輸入是否有孩子?如果你想選擇具有類價格在未來TD,你可以這樣做:

$('tr input:checked').parent().next('td.price') 
+0

我試圖選擇單元格中class ='price'的值作爲其複選框被選中的行 – Alistair 2011-04-01 13:53:18

+0

檢查我的忍者更新:)我只是發現你已經發布了你的標記,所以我修復了我的答案以反映這一點。 – Mark 2011-04-01 13:53:54

+0

非常好,我唯一的問題是在我的真實世界表中它有X數量的柱子,所以我不能跳到下一個​​。如果這有幫助,那麼'價格'總是最後的td? – Alistair 2011-04-01 13:58:26