2012-08-01 68 views
0

我有一個動態生成的表,它看起來是這樣的:基於類獲取td總數?

<table id="mytable"> 
    <thead> 
     <tr> 
      <td>col1</td> 
      <td>col2</td> 
      <td>col3</td> 
     </tr> 
    </thead> 
    <tbody> 
     <tr> 
      <td>col1</td> 
      <td class="col2">1</td> 
      <td class="col3">2</td> 
     </tr> 
     <tr> 
      <td>col1</td> 
      <td class="col2">7</td> 
      <td class="col3">4</td> 
     </tr> 
     <tr> 
      <td>col1</td> 
      <td class="col2">col2</td> 
      <td class="col3">col3</td> 
     </tr> 
    </tbody> 
    <tfoot> 
     <tr> 
      <td>Totals</td> 
      <td id="col2total"></td> 
      <td id="col3total"></td> 
     </tr> 
    </tfoot> 
</table> 

如何獲取的總值在td S的有類col2總id爲col2total添加到td ?由於此表是動態生成的,因此我不知道在tbody中生成了多少個tr

回答

2

嘗試這種情況:

var total = 0; 
$(".col2").each(function() { 
    total += parseFloat('0' + $(this).text(), 10); 
}) 
$("#col2total").text(total); 
+1

我建議:'parseFloat( '0' + $(本)的.text(),10);',使得非數字值最終爲零。 – Ariel 2012-08-01 08:57:11

+0

@Ariel一個很好的簡單方法,我已經更新了答案 - 謝謝。 – 2012-08-01 08:59:13

0
var total = 0; 
$("td.col2").each(function() { 
    total += parseFloat($(this).text()) || 0; 
}); 

$("#col2total").text(total); 
0
$(document).ready(function(){ 
    var sum = 0; 
    $('.col2').each(function() { 
     sum += Number($(this).val()); 
    }); 

    $("#col2total").text(sum); 
});