jquery没有按预期计算总和

时间:2012-07-14 02:08:26

标签: javascript jquery

我开始使用这个解决方案,但我似乎无法让它工作

jQuery calculate sum of values in all text fields

以下是我的html

的示例
<table>
  <tbody>
    <tr id="tr_affiliation_15159">
      <td class="right col_aff_amount">15.00</td>
    </tr>
    <tr id="tr_affiliation_15189">
      <td class="right col_aff_amount">15.00</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td class="total"></td>
    </tr>
  </tfoot>
</table>

这是我的javascript函数

function removeRow(id) {
  $("#tr_affiliation_" + id).fadeOut("slow", function() {
    $("#tr_affiliation_" + id).remove();

    // recalc total
    var total = 0;

    $('.col_aff_amount').each(function() {
      // i have tried .text(), and .html() as well as .val() but it doesn't seem to make any difference
      var val = parseFloat($(this).val());
      console.log(val);
      total += val;
  });

  $("td.total").html(parseFloat(total).toFixed(2));

}

我的控制台日志只显示一长串的NaN,为什么不能提取数字?

1 个答案:

答案 0 :(得分:2)

你应该对输入和textarea等表单元素之外的元素使用text(),同样在计算时,在计算之前用整数值定义变量val

$(document).ready(function(){
   // ...
   var val = 0;
   val = parseInt($(this).text(), 10);
  // ...
})

DEMO