Jqaury如何动态获取每一行每一列的合计值?

时间:2022-01-11 15:05:01
问题描述:我在后台拼接输出了一个DateTable字符串
最终页面显示:<这是一个table>,
月份    核定总额  津贴  合计工资
2014-01 3000      400   3400
2014-01 3000      500   3500

然后我需要在动态生存这些数据的最后一行追加上一行.我是这样做的,yush

function AddSumRow()
{
    var $table= $("#ctl00_formContent_sTable");
    var $tds = $table.find("tr");
    var sXml = new $.StringBuilder();
    for(var i = 0;i<$tds.last().children().length;i++)
    {
        if(i == 0)
        {
            sXml.appendFormat("<td><span style=\"font-size: 9pt;font-weight: bold; white-space: nowrap;\">{0}</span></td>","总计:");
        }
        sXml.appendFormat("<td>{0}</td>",$tds.find("span").eq(2).html());
    }
    sXml.append("</tr>");
    $table.append(sXml.toString());
}

于是显示成这样
月份    核定总额  津贴  合计工资
2014-01 3000      400   3400
2014-01 3000      500   3500
合计:    合计值1  合计值2 合计值3

我想知道Jq如何获取核定总额的合计值复制给下面的td中的span 其他的类推?
或者你们有其他好的思路 谢谢!.

3 个解决方案

#1


这个方法很多
1.就如同你现在一样,直接根据dom操作,当然这个没啥通用,每个dom不一样,只能具体分析具体对待
2.找现成的支持合计的控件,这个不用操心,你平时怎么搞现在就怎么搞,当然“反控件控”是不会用滴
3.在生成滴时候做点手脚,多给每列上加点标记 比如 <tr rel="列1"> 合计列上直接 <tr rel="{text:sum(列1)}">,这样js不必去管dom,js直接根据你自己的定义去计算
4.不生成table,而生成json对象,前端直接找个支持列合计滴jquery插件
5.反过来思维,别去管dom,直接json。然后是用knockout,angularjs,在前端mvvm。

#2


DataTalbe的Compute这个方法可以计算出你核定总额/津贴的总值。
string objStr= dt.Compute("sum(columnName)", "true").ToString(); 

#3


问题描述:我在后台拼接输出了一个DateTable字符串
拼接的时候顺便把合计行也拼接上就解决了。
DataTalbe的Compute这个方法可以计算出你核定总额/津贴的总值。
string objStr= dt.Compute("sum(columnName)", "true").ToString(); 

#1


这个方法很多
1.就如同你现在一样,直接根据dom操作,当然这个没啥通用,每个dom不一样,只能具体分析具体对待
2.找现成的支持合计的控件,这个不用操心,你平时怎么搞现在就怎么搞,当然“反控件控”是不会用滴
3.在生成滴时候做点手脚,多给每列上加点标记 比如 <tr rel="列1"> 合计列上直接 <tr rel="{text:sum(列1)}">,这样js不必去管dom,js直接根据你自己的定义去计算
4.不生成table,而生成json对象,前端直接找个支持列合计滴jquery插件
5.反过来思维,别去管dom,直接json。然后是用knockout,angularjs,在前端mvvm。

#2


DataTalbe的Compute这个方法可以计算出你核定总额/津贴的总值。
string objStr= dt.Compute("sum(columnName)", "true").ToString(); 

#3


问题描述:我在后台拼接输出了一个DateTable字符串
拼接的时候顺便把合计行也拼接上就解决了。
DataTalbe的Compute这个方法可以计算出你核定总额/津贴的总值。
string objStr= dt.Compute("sum(columnName)", "true").ToString();