javascript - jquery 没有按预期计算总和

标签 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,为什么它不能提取数字?

最佳答案

你应该使用 text() 来处理 input 和 textarea 等表单元素以外的元素,同时在你进行计算时,在变量 val 之前定义一个整数值计算:

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

DEMO

关于javascript - jquery 没有按预期计算总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11480464/

相关文章:

javascript - 为什么 setInterval 中更新的用户名没有反射(reflect)在 View 中

javascript - php 表单和同一页面上的多个结果自动刷新

javascript - d3画笔并设置带有时间刻度的最小刻度线

javascript - 基于产品类型的 WooCommerce “ADD TO CART” 按钮旁边的自定义按钮

javascript - 输入字段在移动 View 中不可编辑

javascript - 我应该如何延迟ajax请求?

javascript - 从 Web 应用程序传递变量并显示对话框

javascript - html javascript 更改我的 <div> 的值,但刷新页面 1 秒,然后全部为 null

表格中的 JavaScript 复选框验证

javascript - 一键切换打开所有表格行