jquery实现表格字段统计功能
来源:互联网 发布:冒险岛交易市场数据 编辑:程序博客网 时间:2024/06/05 06:43
在使用html的table时,经常会需要统计某个字段,下面分享一个本人封装好的方法,快速实现统计功能
主要使用方法是:在要统计的字段的th中加上class="get-sum"
即可
注意:table中有无thead和tbody,autoSum略有不同。下面给出了两种方法,分别支持有thead和tbody或没有。
以下两种方法暂时只支持单表格,不支持一个页面中有多个表格都要进行统计
效果如下:
有thead和tbody
<html><head></head><body> <table> <thead> <tr> <th>字段1</th> <th>字段2</th> <th class='get-sum'>字段3</th> <th>字段4</th> </tr> </thead> <tbody> <tr> <td>1</td> <td>3</td> <td>4</td> <td>4</td> </tr> <tr> <td>1</td> <td>3</td> <td>2</td> <td>4</td> </tr> <tr> <td>4</td> <td>3</td> <td>2</td> <td>2</td> </tr> </tbody> </table></body><script type="text/javascript" src='//cdn.bootcss.com/jquery/3.1.1/jquery.min.js'></script><script> if($('.get-sum').length>0){ autoSum(); } function autoSum(){ var total_objs = new Object(); $('.get-sum').each(function(){ var index = $('tr th').index(this); var total = 0; $(this).parent('tr').parent('thead').next('tbody').children('tr').each(function(){ var text = $(this).find('td').eq(index).text(); total += Number(text); }); total_objs[index] = total; }); var td_num = $('.get-sum').parent('tr').find('th').length; var tds = '<tr style="background-color:#4bbd00;color:white;">' for(var i=0;i<td_num;i++){ var total = ''; if(total_objs[i]!=undefined){ total = Number(total_objs[i]); } tds += '<td>' + total + '</td>'; } tds += '</tr>'; $('.get-sum').closest('table').append(tds); }</script></html>
无tbody和thead的autoSum方法
<html><head></head><body> <table> <tr> <th>字段1</th> <th>字段2</th> <th class='get-sum'>字段3</th> <th>字段4</th> </tr> <tr> <td>1</td> <td>3</td> <td>4</td> <td>4</td> </tr> <tr> <td>1</td> <td>3</td> <td>2</td> <td>4</td> </tr> <tr> <td>4</td> <td>3</td> <td>2</td> <td>2</td> </tr> </table></body><script type="text/javascript" src='//cdn.bootcss.com/jquery/3.1.1/jquery.min.js'></script><script> if($('.get-sum').length>0){ autoSum(); } function autoSum(){ var total_objs = new Object(); $('.get-sum').each(function(){ var index = $('tr th').index(this); var total = 0; $(this).parent('tr').nextAll('tr').each(function(){ var text = $(this).find('td').eq(index).text(); total += Number(text); }); total_objs[index] = total; }); var td_num = $('.get-sum').parent('tr').find('th').length; var tds = '<tr style="background-color:#4bbd00;color:white;">' for(var i=0;i<td_num;i++){ var total = ''; if(total_objs[i]!=undefined){ total = Number(total_objs[i]); } tds += '<td>' + total + '</td>'; } tds += '</tr>'; $('.get-sum').closest('table').append(tds); }</script></html>
1 0
- jquery实现表格字段统计功能
- AngularJs实现表格点击不同字段排序的功能
- jQuery+PHP实现实时编辑表格字段内容
- 可编辑的表格:jQuery+PHP+jeditable实现实时编辑表格字段内容
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
- 实现类Excel表格编辑功能的jQuery插件:Handsontable
- jquery实现表格中点击相应行变色功能
- 利用jquery实现的表格冻结列(固定列)功能
- Jquery实现表格元素的动态创建功能
- jquery-datatable实现表格加载,分页和删除功能
- 【随记】JQuery实现表格的双击编辑功能(自动适应表格高度和宽度)
- ArcGIS实现类似Excel表格的按序列填充及字段拼接功能
- jQuery 实现表格斑马线
- jquery实现编辑表格
- jquery 实现表格
- jquery实现动态表格
- 超级表格发布自定义字段功能
- golang第一个功能实现(判断字段相等就合并指定字段到一个表格中)
- settings.db 在androd 6.0上的变化
- Android系统启动——Zygote进程
- ROS(indigo) 语音工具 科大讯飞 百度 pocketsphinx julius rospeex 16.11.22更新 ROS中文语音
- 21、SSM框架-Mybatis多参数查询与列表查询不同方式实现(3)
- myeclipse 修改jsp模板
- jquery实现表格字段统计功能
- hibernate中对象的三种状态
- ListView列表项数字/字母/汉字混合排序
- 51nod-1020 逆序排列
- ZooKeeper典型应用场景一览
- Hibernate异常:query specified join fetching, but the owner of the fetched association was not present
- RESTful模式来开发程序
- docker入门之基本命令
- linux下文件夹的创建、复制、剪切、重命名、清空、删除、压缩和解压缩命令