/** * @ function:合併指定表格列(表格id爲table_id)指定列(列數爲table_colnum)的相同文本的相鄰單元格 * @ param:table_id 爲須要進行合併單元格的表格的id。如在HTMl中指定表格 id="data" ,此參數應爲 #data * @ param:table_colnum 爲須要合併單元格的所在列。爲數字,從最左邊第一列爲1開始算起。 */ function table_rowspan(table_id, table_colnum) { table_firsttd = ""; table_currenttd = ""; table_SpanNum = 0; table_Obj = $(table_id + " tr td:nth-child(" + table_colnum + ")"); table_Obj.each(function (i) { if (i == 0) { table_firsttd = $(this); table_SpanNum = 1; } else { table_currenttd = $(this); if (table_firsttd.text() == table_currenttd.text()) { //這邊注意不是val()屬性,而是text()屬性 //td內容爲空的不合並 if(table_firsttd.text() !=""){ table_SpanNum++; table_currenttd.hide(); //remove(); table_firsttd.attr("rowSpan", table_SpanNum); } } else { table_firsttd = $(this); table_SpanNum = 1; } } }); }
/* * @ function:合併指定表格行(表格id爲table_id)指定行(行數爲table_rownum)的相同文本的相鄰單元格 * @ param:table_id 爲須要進行合併單元格的表格id。如在HTMl中指定表格 id="data" ,此參數應爲 #data * @ param:table_rownum 爲須要合併單元格的所在行。其參數形式請參考jquery中nth-child的參數。 若是爲數字,則從最左邊第一行爲1開始算起。 "even" 表示偶數行 "odd" 表示奇數行 "3n+1" 表示的行數爲一、四、七、10....... * @ param:table_maxcolnum 爲指定行中單元格對應的最大列數,列數大於這個數值的單元格將不進行比較合併。 此參數能夠爲空,爲空則指定行的全部單元格要進行比較合併。 */ function table_colspan(table_id, table_rownum, table_maxcolnum) { if (table_maxcolnum == void 0) { table_maxcolnum = 0; } table_firsttd = ""; table_currenttd = ""; table_SpanNum = 0; $(table_id + " tr:nth-child(" + table_rownum + ")").each(function (i) { table_Obj = $(this).children(); table_Obj.each(function (i) { if (i == 0) { table_firsttd = $(this); table_SpanNum = 1; } else if ((table_maxcolnum > 0) && (i > table_maxcolnum)) { return ""; } else { table_currenttd = $(this); if (table_firsttd.text() == table_currenttd.text()) { //td內容爲空的不合並 if (table_firsttd.text() !="") { table_SpanNum++; table_currenttd.hide(); //remove(); table_firsttd.attr("colSpan", table_SpanNum); table_firsttd.attr("style", "text-align:center"); } } else { table_firsttd = $(this); table_SpanNum = 1; } } }); }); }