全功能合并单元格js

来源:互联网 发布:12315可以投诉淘宝小二 编辑:程序博客网 时间:2024/06/05 03:23
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>合并表格</title><script> /////////////////////////////////////////////// //功能:合并表格 //参数:tb-需要合并的表格ID //参数:colLength--需要对前几列进行合并,比如, //想合并前两列,后面的数据列忽略合并,colLength应为2 //缺省表示对全部列合并 //startCol:开始列,从0开始//startRow:开始行,从0开始//startCol+colLength<=rows//data:2011.11.06 /////////////////////////////////////////////// function uniteTable(tb,colLength,startCol,startRow){ //检查表格是否规整 //if(!checkTable(tb)) return; var i=0; var j=0; var rowCount=tb.rows.length; //行数 alert('行:'+rowCount);var colCount=tb.rows[startRow].cells.length; //列数 alert("列:"+colCount);var obj1=null; var obj2=null; //为每个单元格命名 for(i=startRow;i<rowCount;i++){ for(j=startCol;j<colCount;j++){ tb.rows[i].cells[j].id="tb__" + i.toString() + "_" + j.toString(); } } //逐列检查合并 for(i=startCol;i<colCount;i++){ if(i==(colLength+startCol)) return; obj1=document.getElementById("tb__"+startRow.toString()+"_"+i.toString()) ;alert(obj1.innerText);for(j=startRow+1;j<rowCount;j++){ obj2=document.getElementById("tb__"+j.toString()+"_"+i.toString()); alert(obj2.innerText);if(obj1.innerText==obj2.innerText){ obj1.rowSpan++; obj2.parentNode.removeChild(obj2); alert(obj1.rowSpan);}else{ obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString()); } } } } ///////////////////////////////////////// //功能:检查表格是否规整 //参数:tb--需要检查的表格ID //data: 2011.11.06///////////////////////////////////////// function checkTable(tb){ if(tb.rows.length==0) return false; if(tb.rows[0].cells.length==0) return false; for(var i=0;i<tb.rows.length;i++){ if(tb.rows[0].cells.length!=tb.rows[i].cells.length) return false; } return true; } </script></head><body><table width="400" border="1" id="table1">  <tr>    <td>a</td>    <td>for</td>    <td>100</td>    <td>200</td>    <td>1</td>  </tr>  <tr>    <td>a</td>    <td>for</td>    <td>100</td>    <td>300</td>    <td>2</td>  </tr>  <tr>    <td>a</td>    <td>if</td>    <td>100</td>    <td>200</td>    <td>3</td>  </tr>  <tr>    <td>a</td>    <td>if</td>    <td>300</td>    <td>230</td>    <td>4</td>  </tr>  <tr>    <td>a</td>    <td>if</td>    <td>320</td>    <td>230</td>    <td>5</td>  </tr></table><br><input type="button" value="合并表格" onClick="uniteTable(table1,2,1,2)"></body></html>

0 0
原创粉丝点击