原文引用地址: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合并表格中相同文本的相邻单元格的相关资料,需要的朋友可以参考下
有时候需要合并表格中相同文本的相邻单元格,需要的朋友可以参考下。
NULL 博文链接:https://ollevere.iteye.com/blog/1716795
jquery datatable 单元格合并,通过js实现相同内容单元格动态合并!!!jquery datatable 单元格合并,通过js实现相同内容单元格动态合并!!!
通过jQuery简单实现的一个合并单元格功能
jQuery、JS编写的合并单元格,可以增加、删除、合并单元格
jquery table rowspan 表格单元格合并,设置相同属性表格合并
jquery封装超好用的合并单元格方法,很好用,欢迎大家下载使用。
日常开发中,经常遇到表格里需要自动合并单元格,考虑到写服务器控件比较消耗性能,因些还是把这种工作交给客户端Javascript去做吧,基于习惯用jquery框架,所以封装了一个Jquery插件。
NULL 博文链接:https://listen-raining.iteye.com/blog/2256318
合并单元格 JQuery源码 MergeCells 加入JQuery库和MergeCells即可. EP: $('#table').MergeCells({cols:'1,2,3'}) 合并第2,3,4列.
一定要注意如果从list的开始元素循环下去,remove掉一个元素后,有些元素就找不到了或者说不是要找的那个元素,感兴趣的各位可以研究下哈
//函数说明:合并指定表格(表格id为_w_table_id)指定列(列数为_w_table_colnum)的相同文本的相邻单元格 //参数说明:_w_table_id 为需要进行合并单元格的表格的id。如在HTMl中指定表格 id="data" ,此参数应为 #...
jQuery仿Excel表格选中单元格变色特效,仿Excel单元格选择代码,鼠标移动到表格内,按住shift键可选取多个单元格。
利用jquery实现表格动态分页,前台用jquery实现。后台用java实现动态查询数据,分页。
jqgrid合并单元格 .jqgrid { width: 80%; margin: 0 auto; } /* 这个代码是解决表头有一点点错位的问题 */ .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-...
jquery 伸缩表格 单击每个单元格最后一行实现伸缩 代码还不够精简 只供大家参考
主要是对jquery合并内容相同的单元格示例代码进行了介绍。需要的朋友可以过来参考下,希望对大家有所帮助