JQ实现表格中相同数据单元格的合并

本文介绍如何使用jQuery实现表格中相同数据单元格的合并。在实现此功能前,需要确保数据在数据库中已按需排序或分组。提供的代码示例包括单列和多列合并的方法,通过遍历表格行并比较单元格内容来决定是否进行合并。

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

下面和大家分享一下jq实现表格中相同数据单元格的合并,希望对大家有帮助
     要想实现这样的效果,得有一个前提,就是相同数据应该放在一起,所以在数据库select的时候需要先对数据进行排序或者分组,然后再传到前台.才能在前台进行合并.
代码片段:
function hebing1(col){    //col为要合并的列
        var trs = $("#editFormTable tr");  //获取table中有几个tr  建议用id选择器
        var rows = 1;
        for(var i=trs.length;i>0;i--){
            var cur = $($(trs[i]).find("td")[col]).text();
            var next = $($(trs[i-1]).find("td")[col]).text();
            if(cur==next){
                rows++;
                $($(trs[i]).find("td")[col]).remove();
            } else {
                $($(trs[i]).find("td")[col]).attr("rowspan",rows);
                rows=1;
            }
        }
    }
这样就行进行实现.for循环是根据你每页有多少条数据,从下往上进行判断合并.如果合并多列的时候代码如下:
function hebing2(col){  //col 合并的列数
            var trs = $("#editFormTable tr");  
            var rows = 1;
            for(var j=col;j>0;j--){
            for(var i=trs.length;i>0;i--){
            for(var k=j;k>0;k--){
                var cur = $($(trs[i]).find("td")[k]).text();
                            var next = $($(trs[i-1]).find("td")[k]).text();
                            if(cur!=next){
                        $($(trs[i]).find("td")[j]).attr("rowspan",rows);
                        rows=1;
                        break;
                            }else if(k==1){
                        rows++;
                            $($(trs[i]).find("td")[j]).remove();
                            }
            }           
            }           
            }
        }
这里的参数是要合并的列数,从第一列开始,中间不能终端,即不能合并1列和3列.如果是不相邻的列可以加一个循环,要合并的列写进一个数组,然后循环遍历这个数组,调用hebing1()即可.注:此种方式要从右往左合并.因为你在合并第一个单元格的时候要对左边的单元格进行判断,如果左边的单元格数据一样的时候进行合并,不一样的时候,即使右边单元格数据一样也不能进行合并.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值