jquery合并表格中相同文本的相邻单元格

 更新时间:2015年07月17日 10:23:52   投稿:hebedich  
这篇文章主要介绍了jquery合并表格中相同文本的相邻单元格的相关资料,需要的朋友可以参考下

一、效果

二、代码

<!DOCTYPE HTML>
<html>
<head>
  <title>Example</title>
  <meta charset="utf-8"/>
  <style></style>
  <script src="js/jquery-2.1.4.min.js"></script>
</head>
<body>
  <table id="process" cellpadding="2" cellspacing="0" border="1">
    <thead>
      <tr >
        <td>col0</td>
        <td>col1</td>
        <td>col2</td>
        <td>col3</td>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>SuZhou</td>
        <td>11111</td>
        <td>22222</td>
        <td>SuZhouCity</td>
      </tr>
      <tr>
        <td>SuZhou</td>
        <td>33333</td>
        <td>44444</td>
        <td>SuZhouCity</td>
      </tr>
      <tr>
        <td>SuZhou</td>
        <td>55555</td>
        <td>66666</td>
        <td>SuZhouCity</td>
      </tr>
      <tr>
        <td>ShangHai</td>
        <td>77777</td>
        <td>88888</td>
        <td>ShangHaiCity</td>
      </tr>
      <tr>
        <td>ShangHai</td>
        <td>uuuuu</td>
        <td>hhhhh</td>
        <td>ShangHaiCity</td>
      </tr>
      <tr>
        <td>ShangHai</td>
        <td>ggggg</td>
        <td>ccccc</td>
        <td>ShangHaiCity</td>
      </tr>
      <tr>
        <td>GuangZhou</td>
        <td>ttttt</td>
        <td>eeeee</td>
        <td>GuangZhouCity</td>
      </tr>
      <tr>
        <td>GuangZhou</td>
        <td>ppppp</td>
        <td>qqqqq</td>
        <td>GuangZhouCity</td>
      </tr>
    </tbody>
  </table>

  <script type="text/javascript">
//函数说明:合并指定表格(表格id为_w_table_id)指定列(列数为_w_table_colnum)的相同文本的相邻单元格
//参数说明:_w_table_id 为需要进行合并单元格的表格的id。如在HTMl中指定表格 id="data" ,此参数应为 #data 
//参数说明:_w_table_colnum 为需要合并单元格的所在列。为数字,从最左边第一列为1开始算起。
function _w_table_rowspan(_w_table_id,_w_table_colnum){
  _w_table_firsttd = "";
  _w_table_currenttd = "";
  _w_table_SpanNum = 0;
  _w_table_Obj = $(_w_table_id + " tr td:nth-child(" + _w_table_colnum + ")");
  _w_table_Obj.each(function(i){
    if(i==0){
      _w_table_firsttd = $(this);
      _w_table_SpanNum = 1;
    }else{
      _w_table_currenttd = $(this);
      if(_w_table_firsttd.text()==_w_table_currenttd.text()){
        _w_table_SpanNum++;
        _w_table_currenttd.hide(); //remove();
        _w_table_firsttd.attr("rowSpan",_w_table_SpanNum);
      }else{
        _w_table_firsttd = $(this);
        _w_table_SpanNum = 1;
      }
    }
  }); 
}
//函数说明:合并指定表格(表格id为_w_table_id)指定行(行数为_w_table_rownum)的相同文本的相邻单元格
//参数说明:_w_table_id 为需要进行合并单元格的表格id。如在HTMl中指定表格 id="data" ,此参数应为 #data 
//参数说明:_w_table_rownum 为需要合并单元格的所在行。其参数形式请参考jQuery中nth-child的参数。
//     如果为数字,则从最左边第一行为1开始算起。
//     "even" 表示偶数行
//     "odd" 表示奇数行
//     "3n+1" 表示的行数为1、4、7、10.......
//参数说明:_w_table_maxcolnum 为指定行中单元格对应的最大列数,列数大于这个数值的单元格将不进行比较合并。
//     此参数可以为空,为空则指定行的所有单元格要进行比较合并。
function _w_table_colspan(_w_table_id,_w_table_rownum,_w_table_maxcolnum){
  if(_w_table_maxcolnum == void 0){_w_table_maxcolnum=0;}
  _w_table_firsttd = "";
  _w_table_currenttd = "";
  _w_table_SpanNum = 0;
  $(_w_table_id + " tr:nth-child(" + _w_table_rownum + ")").each(function(i){
    _w_table_Obj = $(this).children();
    _w_table_Obj.each(function(i){
      if(i==0){
        _w_table_firsttd = $(this);
        _w_table_SpanNum = 1;
      }else if((_w_table_maxcolnum>0)&&(i>_w_table_maxcolnum)){
        return "";
      }else{
        _w_table_currenttd = $(this);
        if(_w_table_firsttd.text()==_w_table_currenttd.text()){
          _w_table_SpanNum++;
          _w_table_currenttd.hide(); //remove();
          _w_table_firsttd.attr("colSpan",_w_table_SpanNum);
        }else{
          _w_table_firsttd = $(this);
          _w_table_SpanNum = 1;
        }
      }
    });
  });
}
$(document).ready(function(){ 
 // _w_table_rowspan("#process",4);
 // _w_table_rowspan("#process",3);
 // _w_table_rowspan("#process",2);
 _w_table_rowspan("#process",1);
 });
  </script>
</body>
</html>

测试使用了一下,很赞!

以上所述就是本文的全部内容了,希望大家能够喜欢。

相关文章

  • Jquery异步提交表单代码分享

    Jquery异步提交表单代码分享

    本文是jQuery结合ajax实现的异步提交表单的代码,是个人项目中提取出来的,分享给大家,有需要的小伙伴可以参考下。
    2015-03-03
  • JQuery中getJSON的使用方法

    JQuery中getJSON的使用方法

    最近有一个活动,其中的数据需要和纯静态html网站进行交互。但是由于两个网站处于不同的域名下,而Ajax的应用中,由于安全的问题,浏览器默认是不支持跨域调用的,最后选用了JQuery中的getJSON方法
    2010-12-12
  • jQuery子选择器与可见性选择器实例分析

    jQuery子选择器与可见性选择器实例分析

    这篇文章主要介绍了jQuery子选择器与可见性选择器,结合实例形式分析了jQuery子选择器与可见性选择器的功能、常见用法及相关操作注意事项,需要的朋友可以参考下
    2019-06-06
  • jquery实现仿新浪微博评论滚动效果

    jquery实现仿新浪微博评论滚动效果

    这篇文章主要介绍了jquery实现仿新浪微博评论滚动效果,基于jquery实现页面图文定时滚动效果,涉及jquery页面元素的遍历与样式的动态操作技巧,是一款经典的jquery滚动特效,非常具有实用价值,需要的朋友可以参考下
    2015-08-08
  • jQuery实现的鼠标经过时变宽的效果(附demo源码)

    jQuery实现的鼠标经过时变宽的效果(附demo源码)

    这篇文章主要介绍了jQuery实现的鼠标经过时变宽的效果,实例演示了jQuery的Kwicks插件实现针对鼠标事件的响应与页面元素样式动态变换的相关技巧,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-04-04
  • Jquery倒数计时按钮setTimeout的实例代码

    Jquery倒数计时按钮setTimeout的实例代码

    这篇文章介绍了Jquery倒数计时按钮setTimeout的实例,有需要的朋友可以参考一下
    2013-07-07
  • jQuery Flash/MP3/Video多媒体插件

    jQuery Flash/MP3/Video多媒体插件

    jQuery Flash/MP3/Video多媒体插件,主要是用来加载flash或mp3等网络媒体文件。
    2010-01-01
  • 基于jquery实现后台左侧菜单点击上下滑动显示

    基于jquery实现后台左侧菜单点击上下滑动显示

    一个左侧菜单点击是可以上下滑动,简洁时尚,复制即可使用,感兴趣的朋友可以参考下哈,希望对你有所帮助
    2013-04-04
  • jquery插件autocomplete用法示例

    jquery插件autocomplete用法示例

    这篇文章主要介绍了jquery插件autocomplete用法,结合实例形式分析了jQuery插件autocomplete与后台交互实现搜索的自动完成功能实现技巧,需要的朋友可以参考下
    2016-07-07
  • jQuery点击改变class并toggle及toggleClass()方法定义用法

    jQuery点击改变class并toggle及toggleClass()方法定义用法

    这篇文章主要介绍了jQuery点击改变class并toggle及toggleClass()方法定义用法的相关资料,需要的朋友可以参考下
    2015-12-12

最新评论