/**
* 合并单元格
* @param table1 表格的ID
* @param startRow 起始行
* @param col 合并的列号,对第几列进行合并(从0开始)。如果传下来为0就是从第一列开头到结束合并
*/ function mergeCell(table1, startRow, mergeColArr){ var tb = document.getElementById(table1);
var endRow=tb.rows.length;
var colLen = tb.rows[0].cells.length - 1;
var cmpCnt = "order_no";
var orderRows = [];
var bgColor = ["rgb(252,252,252)","rgb(242,242,242)"];
var orderIdx = 0;
//每个订单的起始行号
var mergeStarRow = 1; for (var i = startRow; i < endRow; i++) { if(typeof tb.rows[i + 1] === "undefined"){ for(var m = colLen; m >= 0; m--){
tb.rows[i].cells[m].style.backgroundColor = bgColor[orderIdx % 2];
}
break;
} var prev_rows = tb.rows[startRow],prev_cells = prev_rows.cells;
var next_rows = tb.rows[i + 1],next_cells = next_rows.cells; if ($.trim(prev_rows.getAttribute(cmpCnt)) == $.trim(next_rows.getAttribute(cmpCnt)))
{
if(typeof tb.rows[i + 2] === "undefined"){
orderRows.push({"starow":mergeStarRow,"endrow":i+1});
}
continue;
}else{
startRow = i + 1;
orderRows.push({"starow":mergeStarRow,"endrow":i});
mergeStarRow = startRow;
orderIdx++;
}
} var len = orderRows.length; for(var n = 0;n < len; n++){ var starow = orderRows[n]["starow"];
var endrow = orderRows[n]["endrow"];
var rowspan = endrow - starow + 1; //循环行
for(var j = starow; j <= endrow; j++){ var flag = false;
//反序循环列(因为删掉td后索引会变)
for(var k = colLen; k >= 0; k--){ tb.rows[j].cells[k].style.backgroundColor = bgColor[n % 2];
if(mergeColArr.indexOf(k) > -1){ //如果是第一行,就设置rowSpan
if(j === starow){
tb.rows[j].cells[k].rowSpan = rowspan;
}else{
//否则就倒序删掉mergeColArr[k]列
tb.rows[j].removeChild(tb.rows[j].cells[k]);
}
} } } } } mergeCell('c1',1,[0,1,2,6,7,8,9,10,12]);

下面是合并后的效果 :

一种HTML table合并单元格的思路的更多相关文章

  1. table中tr间距的设定table合并单元格 colspan(跨列)和rowspan(跨行)

    table中的tr的默认display:table-row,虽然可以修改为display:block但是就失去了tr特有的显示效果,如(td自动对齐): 并且在tr中对起设定padding是有用的,可 ...

  2. css table 合并单元格

    1. css table 合并单元格 colspan:合并列, rowspan:合并行, 合并行的时候,比如rowspan="2",它的下一行tr会少一列: 合并列的时候,比如co ...

  3. table合并单元格

    table合并单元格 新建一张表格.要求表格有四行四列,当中第一行的四列合并,第二行.第三行和第四行的第一列合并 <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  4. ant design Table合并单元格合并单元格怎么用?

    1.ant design table合并单元格怎么用?

  5. BootStrap Table 合并单元格

    为了更直观展示表格的一大堆乱七八糟的数据,合并单元格就派上用场: 效果: 贴上JSON数据(后台查询数据一定要对合并字段排序): [ { "city": "广州市&quo ...

  6. table合并单元格colspan和rowspan .

    colspan和rowspan这两个属性用于创建特殊的表格. colspan是“column span(跨列)”的缩写.colspan属性用在td标签中,用来指定单元格横向跨越的列数: 在浏览器中将显 ...

  7. JQuery Table 合并单元格-解决Bug版本

    网络中提供的方法是: <script type="text/javascript"> function _w_table_rowspan(_w_table_id, _w ...

  8. table合并单元格 colspan(跨列)和rowspan(跨行)

    colspan和rowspan这两个属性用于创建特殊的表格. colspan是“column span(跨列)”的缩写.colspan属性用在td标签中,用来指定单元格横向跨越的列数: 在浏览器中将显 ...

  9. Html table 合并单元格

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. BZOJ 4551树题解

    好吧,洛谷的数据比较水暴力就可以过....(而且跑到飞快) 不过(BZ水不过去)还是讲讲正规的做法. 其实一眼可以看出可以树剖,但是,码起来有点麻烦. 其实有一种更简单的离线做法. 我们很容易联想到并 ...

  2. Centos6.9部署ORTS5.0.22

    1.安装数据库 为了使用默认InnoDB引擎,Centos6.9上默认yum安装mysql5.1.73版本的,orts在初始化数据库时要求log大小要大于250M以上,因此干净安装Centos后,先安 ...

  3. QQ 聊天机器人API

    QQ机器人是腾讯陆续推出的的人工智能聊天机器人的总称. 都说小Q妹妹聪明好学,我们能够教她说话.也能够请他帮忙查询邮编.手机号,或者解释成语.翻译成语,据说她还会查询手机号码归属地.应用科学计算器. ...

  4. SDUT-3331_数据结构实验之链表八:Farey序列

    数据结构实验之链表八:Farey序列 Time Limit: 10 ms Memory Limit: 600 KiB Problem Description Farey序列是一个这样的序列:其第一级序 ...

  5. ListView 适配器实现getviewtypecount() 数组越界IndexOutOfBoundException

    ListView中Item的多布局显示,需要用到了getviewtypecount和getItemViewType这两个重写方法,但是做完后出现了如下提示错误: java.lang.ArrayInde ...

  6. SaltStack之用户账户管理

    在Salt.state中,user 模块是用来创建用户和管理用户设定的,用户可以被设置成 present 状态或者 absent 状态 注释: present:添加用户 absent   : 删除用户 ...

  7. ReactDOM & DOM Elements

    一.ReactDOM 1.1 render() ReactDOM.render(element,container,[callback]) 在container中渲染一个React元素,然后返回组件一 ...

  8. hdu 5742 It's All In The Mind(2016多校第二场)

    It's All In The Mind Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Oth ...

  9. ArrayList存储基本类型时的封装类

  10. MySQL数据库字符集和整理

    MySQL数据库字符集和整理(2009-11-20 22:23:37) mysql数据库 it    其实这个表在MySQL数据库中通过phpMyAdmin就能看到,icech只是把表格整理了一下方便 ...