javascript根据单元格内容动态合并相同内容单元格
2017-09-26 09:29
357 查看
记录下,按照自己的思维流程写的代码,难免有冗余和不合理的地方,着急要用,也懒得优化,适用于有合并前两列中相同内容单元格需求的地方。如有有人能受到启发写出更加好用完美的代码,那我会感到非常高兴。另外发现网上已经有人写了不少这方面的例子,但是都有BUG,我这段代码也欢迎大家测试,有什么不足欢迎评论。
function HB(tableId) { var tab = document.getElementById(tableId); var tabRows = tab.rows.length;//取得表格的行数 var startRow = 0;//第一列种子索引 var rowNum = 0;//第一列合并的行数操作数 var addNum=1;//第二列合并行数操作数,第二列合并的行数不会超过第一列合并的行数 var startRow2 = 0;//第二列种子索引 var cell=0;//第二列合并操作种子标记,当第一个合并的单元格完成监测后,将种子置为-1 for (var i = 0; i < tabRows; i++) {//合并第一列相同单元格 if (i == 0) { startRow = i; rowNum++; continue; } if (tab.rows[startRow].cells[0].innerHTML == tab.rows[i].cells[0].innerHTML) { tab.rows[i].removeChild(tab.rows[i].cells[0]); rowNum++; if(startRow==(i+1-rowNum)){ tab.rows[startRow].cells[0].rowSpan = rowNum; } continue; } //新合并第二列 addNum=1; cell=0; for(var n=0;n<rowNum;n++){ if(n==0){ startRow2=startRow;//首次进入,第一行的第二列作为种子 continue; } //alert("tab.rows["+startRow2+"].cells["+(cell+1)+"].innerHTML"+tab.rows[startRow2].cells[cell+1].innerHTML); //alert("tab.rows["+(startRow2+addNum)+"].cells[0].innerHTML"+tab.rows[startRow2+addNum].cells[0].innerHTML); if(tab.rows[startRow2].cells[cell+1].innerHTML==tab.rows[startRow2+addNum].cells[0].innerHTML){ if(n==rowNum-1){ //alert("最后一次循环发现合并"); tab.rows[startRow2+addNum].removeChild(tab.rows[startRow2+addNum].cells[0]); addNum++; tab.rows[startRow2].cells[cell+1].rowSpan=addNum; break; } tab.rows[startRow2+addNum].removeChild(tab.rows[startRow2+addNum].cells[0]); addNum++; //alert("addNum:"+addNum); continue; } //alert("出来了!!!"+n); if(addNum==1){ //alert("下方没有找到相同的合并项,作为种子继续寻找"); } tab.rows[startRow2].cells[cell+1].rowSpan=addNum; //设置新种子索引 startRow2=startRow2+addNum; cell=-1; addNum=1; } tab.rows[startRow].cells[0].rowSpan = rowNum; startRow = i; rowNum = 1; } }
相关文章推荐
- Javascript合并表格中具有相同内容单元格示例
- Javascript合并表格中具有相同内容单元格示例
- Javascript合并表格相同内容单元格示例
- jquery 合并相同内容的单元格,根据某列可以指定合并后面的任意列
- Javascript合并表格中具有相同内容的单元格
- 一个JAVASCRIPT实用函数,完成合并表格中列中具有相同内容的列单元格的功能
- Javascript合并表格中具有相同内容单元格示例
- excel 宏学习(合并相同内容单元格)
- jquery 合并相邻且内容相同单元格
- 扩展GridView控件(11) - 合并指定列的相邻且内容相同的单元格
- ext实现单元格合并(根据内容相同的合并)
- 扩展GridView控件(11) - 合并指定列的相邻且内容相同的单元格
- wpf datagrid 单元格颜色 根据条件改变颜色 根据表datatable动态显示datagrid内容
- js 根据数组分组动态生成table(相同项合并)
- js合并具有相同内容的单元格,跨行合并!
- GridView控件(11) - 合并指定列的相邻且内容相同的单元格
- EXCEL中合并同列中连续相同内容的单元格
- 关于前台合并获取后台动态table中数据相同的单元格的问题;th td合并
- 如何批量合并相同内容的单元格
- jquery 合并内容相同的单元格(示例代码)