You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用jQuery对总账表格Credit列求和计算累计余额?

解决总账表格Balance列累加的问题

你的代码主要有两个核心问题:一是没处理Credit数值里的千分位逗号,导致parseInt解析错误;二是只计算了总累加值,没把每一步的累计结果赋值给对应行的Balance单元格。下面是修正后的实现方案:

修正后的jQuery代码

// 初始化累计总和为0
let sum = 0;

// 遍历表格目标行(如果你的行有.outstanding_tr类,替换成$('.outstanding_tr')即可)
$('table.s-table tbody tr').each(function() {
    // 获取当前行Credit列文本,清除千分位逗号并截取整数部分
    const creditText = $(this).find('td:eq(0)').text().replace(/,/g, '').split('.')[0];
    // 转换为有效整数
    const creditValue = parseInt(creditText, 10);
    
    // 数值有效时才累加
    if (!isNaN(creditValue)) {
        sum += creditValue;
    }
    
    // 将累计值格式化(添加千分位逗号)后赋值给当前行的Balance列
    $(this).find('td:eq(1)').text(sum.toLocaleString());
});

关键细节说明

  • 处理千分位逗号:用replace(/,/g, '')清除所有逗号,避免parseInt错误读取逗号前的片段(比如12,000.00会被误解析成12)。
  • 逐行赋值累计值:遍历过程中每完成一次累加,就把当前总和写入对应行的Balance单元格,实现逐行累计的效果。
  • 数字格式化:用toLocaleString()自动给数字添加千分位逗号,和你期望的表格格式完全匹配。
  • 选择器适配:如果你的表格行确实带有.outstanding_tr类,直接把代码里的table.s-table tbody tr替换成.outstanding_tr即可。

运行这段代码后,表格会生成你期望的效果:

CreditBalance
12,000.0012,000
33,000.0045,000

内容的提问来源于stack exchange,提问作者Raeyim

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 05:27:31