Javascript 在列上添加对整个列的值求和的底行
我有一个包含五列的表,其结构如下: 时间戳 现金及;拿 店名 数量 评论 10/01/2018 新德里现金及;拿 J的比萨饼站 72.75£ 支付2018-01-11 16:53全额:75折3%折扣总计:2.25 13/01/2018 新德里现金及;拿 墨西哥之家酒店 93.42£ 支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893 14/01/2018 新德里现金及;拿 墨西哥之家酒店 67.08£ 已支付2018-01-18 10:05全额:69.15折扣,折扣总额为:2.0745 18/01/2018 新德里现金及;拿 墨西哥之家酒店 94.00£ 已支付2018-01-25 10:34全额:3%折扣的96.91折扣总计:2.9073 19/01/2018 新德里现金及;拿 墨西哥之家酒店 48.50£ 支付2018-01-25 10:34全额:3%折扣的50折扣总计:1.5 20/01/2018 新德里现金及;拿 墨西哥之家酒店 34.85£ 支付2018-01-25 10:33全额:3%折扣的35.93折扣总计:1.0779 25/01/2018 新德里现金及;拿 伊斯坦快车 212.97£ 已支付2018-02-01 10:51全额:3%折扣的219.56折扣总计:6.5868 03/02/2018 新德里现金及;拿 J的比萨饼站 14.55£ 全额:3%折扣中的15%折扣总额:0.45Javascript 在列上添加对整个列的值求和的底行,javascript,jquery,html,html-table,Javascript,Jquery,Html,Html Table,我有一个包含五列的表,其结构如下: 时间戳 现金及;拿 店名 数量 评论 10/01/2018 新德里现金及;拿 J的比萨饼站 72.75£ 支付2018-01-11 16:53全额:75折3%折扣总计:2.25 13/01/2018 新德里现金及;拿 墨西哥之家酒店 93.42£ 支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893 14/01/2018 新德里现金及;拿 墨西哥之家酒店 67.08£ 已支付2018-01-18 10:05全额:69.15折扣
尝试将信息保存在JSON文件中,然后使用Javascript的createElement和appendChild方法生成表。有了JSON文件中的所有信息,您可以轻松地对金额进行求和,并使用:last child选择器在每个表行末尾添加另一个具有特殊格式的节点。您可以向表中添加一个总计行
如注释中所述,您只需在表中添加一个几乎为空的:
var total = 0;
$('table tr:not(:first) td:nth-of-type(4)').each(function(){
total += +$(this).text().slice(0,-1);
});
$('table').append('<tr><td class="no-border"></td><td class="no-border"></td><td class="no-border"></td><td>'+total+'£</td><td class="no-border"></td></tr>');
时间戳
现金及;拿
店名
数量
评论
10/01/2018
新德里现金及;拿
J的比萨饼站
72.75£
支付2018-01-11 16:53全额:75折3%折扣总计:2.25
13/01/2018
新德里现金及;拿
墨西哥之家酒店
93.42£
支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893
14/01/2018
新德里现金及;拿
墨西哥之家酒店
67.08£
已支付2018-01-18 10:05全额:69.15折扣,折扣总额为:2.0745
18/01/2018
新德里现金及;拿
墨西哥之家酒店
94.00£
已支付2018-01-25 10:34全额:3%折扣的96.91折扣总计:2.9073
19/01/2018
新德里现金及;拿
墨西哥之家酒店
48.50£
支付2018-01-25 10:34全额:3%折扣的50折扣总计:1.5
20/01/2018
新德里现金及;拿
墨西哥之家酒店
34.85£
支付2018-01-25 10:33全额:3%折扣的35.93折扣总计:1.0779
25/01/2018
新德里现金及;拿
伊斯坦快车
212.97£
已支付2018-02-01 10:51全额:3%折扣的219.56折扣总计:6.5868
03/02/2018
新德里现金及;拿
J的比萨饼站
14.55£
全额:3%折扣中的15%折扣总额:0.45
请尝试以下操作:
风险价值金额=0;
$'tr'.not':first'.not':last'.eachfunctioni,item{
amount+=parseFloat$item.children.eq3.text;
};
$'.total'.textamount+';
.有边框的桌子{
边界:没有!重要;
}
tr:last child>td{
边界:无;
边框顶部:1px实心DDDD;
}
.总数{
边框:1px纯黑!重要;
}
时间戳
现金及;拿
店名
数量
评论
10/01/2018
新德里现金及;拿
J的比萨饼站
72.75£
支付2018-01-11 16:53全额:75折3%折扣总计:2.25
13/01/2018
新德里现金及;拿
墨西哥之家酒店
93.42£
支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893
14/01/2018
新德里现金及;拿
墨西哥之家酒店
67.08£
已支付2018-01-18 10:05全额:69.15折扣,折扣总额为:2.0745
18/0
1/2018
新德里现金及;拿
墨西哥之家酒店
94.00£
已支付2018-01-25 10:34全额:3%折扣的96.91折扣总计:2.9073
19/01/2018
新德里现金及;拿
墨西哥之家酒店
48.50£
支付2018-01-25 10:34全额:3%折扣的50折扣总计:1.5
20/01/2018
新德里现金及;拿
墨西哥之家酒店
34.85£
支付2018-01-25 10:33全额:3%折扣的35.93折扣总计:1.0779
25/01/2018
新德里现金及;拿
伊斯坦快车
212.97£
已支付2018-02-01 10:51全额:3%折扣的219.56折扣总计:6.5868
03/02/2018
新德里现金及;拿
J的比萨饼站
14.55£
全额:3%折扣中的15%折扣总额:0.45
是的,有一个名为colspan的DOM属性,用于控制一个跨接的列数 您可以添加一行和一些CSS来完成以下操作:
<style>
tr:last-child>td[colspan] {
border: none;
}
</style>
<table>
...
<tr><td colspan="3"></td><td>638.12€</td><td colspan="1"></td>
</table>
您可以附加页脚,只需使用css设置边框样式 var tds=$”。带边框的表tr:not:first child td:nth-child4' 风险价值金额=0; tds.eachfunctionk,td{ amount+=parseFloat$td.text.substring-1,$td.text.length-1; } $'。表格有边框。追加+金额+' 时间戳 现金及;拿 店名 数量 评论 10/01/2018 新德里现金及;拿 J的比萨饼站 72.75£ 支付2018-01-11 16:53全额:75折3%折扣总计:2.25 13/01/2018 新德里现金及;拿 墨西哥之家酒店 93.42£ 支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893 14/01/2018 新德里现金及;拿 墨西哥之家酒店 67.08£ 已支付2018-01-18 10:05全额:69.15折扣,折扣总额为:2.0745 18/01/2018 新德里现金及;拿 墨西哥之家酒店 94.00£ 已支付2018-01-25 10:34全额:3%折扣的96.91折扣总计:2.9073 19/01/2018 新德里现金及;拿 墨西哥之家酒店 48.50£ 支付2018-01-25 10:34全额:3%折扣的50折扣总计:1.5 20/01/2018 新德里现金及;拿 墨西哥之家酒店 34.85£ 支付2018-01-25 10:33全额:3%折扣的35.93折扣总计:1.0779 25/01/2018 新德里现金及;拿 伊斯坦快车 212.97£ 已支付2018-02-01 10:51全额:3%折扣的219.56折扣总计:6.5868 03/02/2018 新德里现金及;拿 J的比萨饼站 14.55£ 全额:3%折扣中的15%折扣总额:0.45 使用此选择器“表tbody tr:gt0 td:nth-child4” 看看这个代码片段 var currencycsymbol=“£” 风险价值总额=0.0; $'表tbody tr:gt0 td:nth-child4'。每个函数{ 总计+=parseFloat$this.html.replacecurrencySymbol; }; 总计+=货币符号; var$newTR=$+总计+; $'table tbody'。追加$newTR; 时间戳 现金及;拿 店名 数量 评论 10/01/2018 新德里现金及;拿 J的比萨饼站 72.75£ 支付2018-01-11 16:53全额:75折3%折扣总计:2.25 13/01/2018 新德里现金及;拿 墨西哥之家酒店 93.42£ 支付2018-01-18 10:08全额:3%折扣的96.31折扣总计:2.8893 14/01/2018 新德里现金及;拿 墨西哥之家酒店 67.08£ 已支付2018-01-18 10:05全额:69.15折扣,折扣总额为:2.0745 18/01/2018 新德里现金及;拿 墨西哥之家酒店 94.00£ 已支付2018-01-25 10:34全额:3%折扣的96.91折扣总计:2.9073 19/01/2018 新德里现金及;拿 墨西哥之家酒店 48.50£ 支付2018-01-25 10:34全额:3%折扣的50折扣总计:1.5 20/01/2018 新德里现金及;拿 墨西哥之家酒店 34.85£ 支付2018-01-25 10:33全额:3%折扣的35.93折扣总计:1.0779 25/01/2018 新德里现金及;拿 伊斯坦快车 212.97£ 已支付2018-02-01 10:51全额:3%折扣的219.56折扣总计:6.5868 03/02/2018 新德里现金及;拿 J的比萨饼站 14.55£ 全额:3%折扣中的15%折扣总额:0.45 除了要显示总数的那一个之外,您必须附加一个满的空。一些快速的CSS将消除你的空白页面上的边框。
<style>
tr:last-child>td[colspan] {
border: none;
}
</style>
<table>
...
<tr><td colspan="3"></td><td>638.12€</td><td colspan="1"></td>
</table>