admin 管理员组文章数量: 887021
php相同数据合并单元格,jQuery
基于jQuery的合并表格中相同文本的相邻单元格的代码
ONE
已经生成的数据表格大致内容如下:
地区
地区
商品代码
商品名称
数量
有效期至
距效期(月)
产品批号
规格
单位
条形码
广东
深圳
00028
红花油
广东
深圳
00028
红花油
广东
深圳
00028
红花油
广东
广州
00027
白花油
广东
广州
00028
红花油
广东
深圳
00028
红花油
广东
深圳
00028
红花油
广东
深圳
00028
红花油
广东
深圳
00028
红花油
需要将前四列具有相同文本的相邻单元格进行自动合并,合并后如下:
地区
地区
商品代码
商品名称
数量
有效期至
距效期(月)
产品批号
规格
单位
条形码
广东
深圳
00028
红花油
广州
00027
白花油
00028
红花油
深圳
1、在html的head中引入jQuery
2、添加合并单元格的函数
复制代码 代码如下:
//函数说明:合并指定表格(表格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中调用合并函数合并单元格
复制代码 代码如下:
$(document).ready(function(){
_w_table_rowspan("#spdata",4);
_w_table_rowspan("#spdata",3);
_w_table_rowspan("#spdata",2);
_w_table_rowspan("#spdata",1);
});
// -->
相关阅读:
让ASP.NET MVC页面返回不同类型的内容
ASP IE地址栏参数的判断
基于jquery的cookie的用法
oracle中关于beq协议进程介绍
JS基础之undefined与null的区别分析
WINXP下apache+php4+mysql
Jquery 获得服务器控件值的方法小结
一个简单的网上书城的例子(四)
利用AJAX与数据岛实现无刷新绑定
Linux系统信息查看命令
Flash对联广告的关闭按钮讨论
sql语句中如何将datetime格式的日期转换为yy-mm-dd格式
dedecms 5.5 伪静态化ReWrite规则
写一个对搜索引擎友好的文章SEO分页类
本文标签: php相同数据合并单元格 jQuery
版权声明:本文标题:php相同数据合并单元格,jQuery 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1687049456h58523.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论