`
Java_大猫
  • 浏览: 173555 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

[转]用jQuery合并表格中相同文本的相邻单元格

 
阅读更多
原文引用地址:http://blog.csdn.net/caojin723/article/details/3873856
已经生成的数据表格大致内容如下:
地区 地区 商品代码 商品名称 数量 有效期至 距效期(月) 产品批号 规格 单位 条形码
广东 深圳 00028 红花油            
广东 深圳 00028 红花油            
广东 深圳 00028 红花油            
广东 广州 00027 白花油            
广东 广州 00028 红花油            
广东 深圳 00028 红花油            
广东 深圳 00028 红花油            
广东 深圳 00028 红花油            
广东 深圳 00028 红花油            



需要将前四列具有相同文本的相邻单元格进行自动合并,合并后如下:
地区 地区 商品代码 商品名称 数量 有效期至 距效期(月) 产品批号 规格 单位 条形码
广东 深圳 00028 红花油            
           
           
广州 00027 白花油            
00028 红花油            
深圳            
           
           
           



1、在html的head中引入jQuery
view plain

    <script language="javascript" type="text/javascript" src="js/jquery-1.2.js"></script> 



2、添加合并单元格的函数

view plain

    //函数说明:合并指定表格(表格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; 
                    } 
                } 
            }); 
        }); 
    } 



3、在html的head中调用合并函数合并单元格
view plain

    <script type="text/javascript"><!-- 
        $(document).ready(function(){        
            _w_table_rowspan("#spdata",4); 
            _w_table_rowspan("#spdata",3); 
            _w_table_rowspan("#spdata",2); 
            _w_table_rowspan("#spdata",1); 
        }); 
    // --> 
    </script> 
分享到:
评论

相关推荐

    基于jQuery的合并表格中相同文本的相邻单元格的代码

    【jQuery合并表格中相同文本的相邻单元格】 在网页开发中,经常需要处理表格数据,尤其是在展示大量重复信息时,为了提高数据可读性,通常会采用合并相同内容的单元格来减少冗余。jQuery是一个强大的JavaScript库,...

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

    NULL 博文链接:https://ollevere.iteye.com/blog/1716795

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

    在本例中,我们探讨的主题是如何使用jQuery来合并HTML表格中相同文本的相邻单元格,这通常是为了提高数据的可读性和视觉效果。下面我们将详细介绍这个功能的实现过程。 首先,让我们来看一下给定的代码片段。这段...

    JQuery实现表格中相同单元格合并示例代码

    ### JQuery实现表格中相同单元格合并示例代码知识点 #### 一、JQuery与表格单元格合并的基本概念 JQuery是一个快速、小巧、功能丰富的JavaScript库,它简化了HTML文档遍历和事件处理、DOM操作、动画和Ajax交互等...

    js实现表格相同数据合并

    在给定的文件中,`test.html`可能是用来展示合并表格效果的示例页面,而`jquery-2.0.3.min.js`是jQuery库的文件,用于支持JavaScript代码。你可以通过打开`test.html`并查看源代码,学习如何在实际项目中应用上述...

    Jquery合并单元格--网摘

    本文将探讨如何使用 jQuery 来合并表格中相同文本的相邻单元格,这是在展示数据时提高可读性和美观度的一种常见需求。 首先,确保在 HTML 文件的 `&lt;head&gt;` 标签内引入 jQuery 库。你可以通过以下代码引入 jQuery ...

    table合并单元格的多种方法

    这里我们将详细探讨六种合并表格单元格的方法。 1. **HTML中的`colspan`和`rowspan`属性** HTML表格元素中的`&lt;td&gt;`(表格数据单元格)支持`colspan`和`rowspan`属性。`colspan`用来指定单元格跨越的列数,而`...

    jquery 合并内容相同的单元格(示例代码)

    合并内容相同的单元格的基本思路是遍历表格的每一行,比较同一列中的相邻单元格内容。如果内容相同,则将第一个单元格的 `rowspan` 属性增加,隐藏或移除后续重复的单元格。`rowspan` 属性表示一个单元格跨过的行数...

    表格行列合并JS

    //函数说明:合并指定表格(表格id为_w_table_id)指定列(列数为_w_table_colnum)的相同文本的相邻单元格 //参数说明:_w_table_id 为需要进行合并单元格的表格的id。如在HTMl中指定表格 id="data" ,此参数应为 #...

    使用jQuery 操作table 完成单元格合并的实例

    通过上述步骤,我们不仅可以用jQuery合并表格的水平相邻单元格(使用rowspan属性),还可以通过设置colspan属性合并垂直相邻的单元格。这样的操作在处理复杂数据表格,比如报表,统计表格等场景中非常有用。 综上所...

    精美的css控制表格样式

    `border-collapse`属性决定是否合并相邻边框,以创建更简洁或更传统的外观。`cellspacing`和`cellpadding`属性在HTML中也能设置单元格之间的空间,但在CSS中,可以使用`padding`和`margin`属性更精确地控制。 3. **...

    web开发表格CSS

    `来合并相邻单元格的边框,使它们看起来更整洁。 2. **背景色和颜色**:`background-color`属性可以改变单元格或整个表格的背景色,而`color`属性可以调整文本颜色。例如,`td {background-color: #F5F5F5; color: ...

    jQuery实现的网格线绘制方法

    表格的边框采用collapse模式,这意味着相邻单元格的边框将会合并,形成一个整体的网格效果。表格被放入一个具有id为"fa"的容器中,而表格的创建和添加操作是在一个jQuery文档就绪函数$(function(){...})中进行的。 ...

    jQuery表格(Table)基本操作实例分析

    使用jQuery可以很方便地对表格进行样式、属性和内容的动态操作。 #### 2. 表格样式操作实例 **2.1 鼠标悬停行背景色变换** 在表格行上添加悬停效果是常见的交互手段,能够提高用户体验。在jQuery中,可以通过`....

    Web表格

    2. `border-collapse`:决定是否合并相邻边框。 3. `background-color`:设定单元格或整个表格的背景色。 4. `text-align`:调整单元格内文本的对齐方式。 5. `padding`和`margin`:控制单元格内边距和外边距。 6. `...

    CSS表格边框50多种精美标签样式(边框也精彩)

    `border-collapse`属性控制相邻单元格的边框是否合并。`border-collapse: collapse;`可以使表格看起来更整洁,而`border-collapse: separate;`则保持每个单元格的独立边框。 除了基本的边框样式,还可以通过`box-...

Global site tag (gtag.js) - Google Analytics