jstl中汇总数据

本文介绍了一种使用jQuery简化表格数据汇总的方法。通过传递目标行ID及需汇总的单元格类名,该方法能自动计算表格中指定列的总和,并将结果展示在最后一行。此外,还提供了一个JSTL table的示例代码,展示了如何进一步优化汇总过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最能想到的有两种方法 1.用c:set 标签设置常亮,并在 forEach循环中累加 并在最后一行输出 但是这样 如果有很多列 就需要设置很多个变量进行累加,而且不好重用,所以用jquery还是蛮好 2.就是重点要说的用jquery来循环 遍历td里的值 并输出到总数行。

//这个方法 先传那行输出总数的tr的id,再传多个class(要汇总的td的class)即可 但是name要按顺序传 一列 二列...
 		function getSum(id, name) {
			var len = arguments.length - 1;
			for (var i = 0; i < len; i++) {
				var sum = 0;
				$("." + arguments[i + 1]).each(function() {
					sum += parseInt($(this).text());
				});
				//第一格写了总数 从第二格开始
				$("#" + arguments[0]).find("td").eq(i+1).text(sum);
				//把第五个 没用的干掉
			}
			 	$("#" + arguments[0]).find("td").eq(5).text("");

		}
		$(function() {
			getSum("tjSum", "remainNum", "remainMoney","baddkNum","baddkMoney","baddkRate","loadNum","loadMoney");
		}) 

贴下jstl的table的代码 jstl的代码

这样就可以汇总了

感觉自己宛如智障。。。。
明明可以 就直接算的  还加了这么多属性  这样一个页面多个table就不会那么复杂了

var tableLen = $(".tablelist").length;
	var totalArea = $("#totalCount").find("th");
	for(var a=0;a<tableLen;a++){
		var tr =  $(".tablelist").eq(a).find("tr");
		//每个table有不同数量的tr  -1去掉总数行
		var trLen =tr.length-1;
		if(trLen == 1){
			continue;
		}
		//循环tr 从第二行开始加 因为第一行是名字
		for(var i=1;i<trLen;i++){
			var tdLen = tr.eq(1).find("td").length;
			//循环td 然后相加
			var sum;
			for(var j=1;j<tdLen;j++){
				sum = tr.eq(trLen).find("td").eq(j);
				var tdValue = tr.eq(i).find("td").eq(j).text(),obj = totalArea.eq(j);
				sum.text(parseInt(sum.text())+parseInt(tdValue));
				obj.text(parseInt(obj.text())+parseInt(tdValue));
			}
		}
	}

转载于:https://my.oschina.net/xlpapapa/blog/907084

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值