1. 程式人生 > >Javascript 控制單元格合併

Javascript 控制單元格合併

/////////////////////////////////////////////// // 功能:合併表格 // 引數:tb--需要合併的表格ID // 引數:colLength--需要對前幾列進行合併,比如, // 想合併前兩列,後面的資料列忽略合併,colLength應為2 // 預設表示對全部列合併 // data: 2005.11.6 /////////////////////////////////////////////// function uniteTable(tb,colLength){ // 檢查表格是否規整 if (!checkTable(tb)) return; var i=0; var j=0
; var rowCount=tb.rows.length; // 行數 var colCount=tb.rows[0].cells.length; // 列數 var obj1=null; var obj2=null; // 為每個單元格命名 for (i=0;i<rowCount;i++){ for (j=0;j<colCount;j++){ tb.rows[i].cells[j].id="tb__" + i.toString() + "_"
+ j.toString(); } } // 逐列檢查合併 for (i=0;i<colCount;i++){ if (i==colLength) return; obj1=document.getElementById("tb__0_"+i.toString()) for (j=1;j<rowCount;j++){ obj2=document.getElementById("tb__"+j.toString()+"_"
+i.toString()); if (obj1.innerText == obj2.innerText){ obj1.rowSpan++; obj2.parentNode.removeChild(obj2); }else{ obj1=document.getElementById("tb__"+j.toString()+"_"+i.toString()); } } } } ///////////////////////////////////////// // 功能:檢查表格是否規整 // 引數:tb--需要檢查的表格ID // data: 2005.11.6 ///////////////////////////////////////// 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; }