合并表格中临近行相同的值

在页面进行数据展示时,经常遇到要合并相同行的问题,例如:

A(学生姓名)      B(课程)

张三                    英语

李四                    数学

李四                   语文

李四                   理论力学

王五                   基本力学

王五                  量子力学

张三                  热力学

现在我们需要将学生姓名临近相同的进行合并,可以这样通过jquery来实现(注:我的项目中jquery对象名称是不用加$的):

$(function(){
   var name=$("table tr td.1");//获取td数组jquery对象
  cols(name);
 });
 
//合并某一值相同行方法
function cols(tds){
 var combine =0;//要合并的列
 var index1 =1;//合并的列数
 var eq='';//用于临近两行的判断值是否相等
 for(var a=0;a<tds.length;a++){
  if(a==0){
   eq=$(tds[a]).text();
  }else{
   //关键
   if(eq==$(tds[a]).text()){
    combine=a-index1;//获取要合并的列
    index1++;//增加合并行
   }else{
    //设置要合并列的值
    if(combine==-1){//即未经过if赋值
     combine=a-1;
    }
    //操作table
    $(tds[combine]).attr("rowspan",index1);
    for(var b=1;b<index1;b++){
     $(tds[combine+b]).remove();
    }
    
    index1=1;//重置合并行值
    combine=-1;//重置要合并的列
    eq=$(tds[a]).text();//重置eq往下判断
   }
   //当数据到结尾时将最后一次的判断合并,因else中的方法不一定执行
   if(a==tds.length-1){
    $(tds[combine]).attr("rowspan",index1);
    for(var b=1;b<index1;b++){
     $(tds[combine+b]).remove();
    }
   }
  }
 }
}

对应的html页面table表格:

<html>

<body>

  <table>

  <tr><td class="1">张三</td><td class="2">英语</td></tr>

  <tr><td class="1">李四</td><td class="2">数学</td></tr>

  <tr><td class="1">李四</td><td class="2">语文</td></tr>

  <tr><td class="1">李四</td><td class="2">理论力学</td></tr>

  <tr><td class="1">王五</td><td class="2">基本力学</td></tr>

  <tr><td class="1">王五</td><td class="2">量子力学</td></tr>

  <tr><td class="1">张三</td><td class="2">热力学</td></tr>

</table>

</body>

</html>

特别说明:该合并行的方法是一种对于单列的一种普适方法,它主要用于从后台传到页面是一个list的合并行的处理(处理方法:先将list集合先在页面做普通展示,然后再进行合并行的处理)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值