js合並table單元格(拼table的時候並不知道具體幾行幾列)

Sys.Application.add_load(function () {

    var tab = document.getElementById("ctl00_ContentPlaceHolder1_viewcontrolTT_Repeater1_ctl00_viewcontrolTT_grid"); //要合並的tableID
    if (!tab) {
        alert("未獲取到表格!");
    }
    else {
        //從第二行開始,排除標題行
        var startRow = 1;
        //循環記錄表格中td的內容,用來判斷td中的value是否發生瞭改變
        var td1TempV = "";
        var td2TempV = "";
        var td3TempV = "";
        //如果td的值相同,那麼變量加1, 否則將臨時變量加入集合中
        var rowCount1 = 1;
        var rowCount2 = 1;
        var rowCount3 = 1;
        //得到相同內容的行數的集合www.2cto.com
        var totalcount1 = new Array();
        var totalcount2 = new Array();
        var totalcount3 = new Array();
        for (var i = 1; i = startRow; i--) {
            //臨時變量,存儲td  
            var tTd1 = tab.rows[i].cells[0];
            var tTd2 = tab.rows[i].cells[1];
            var tTd3 = tab.rows[i].cells[2];
            tNum1++;
            tNum2++;
            tNum3++;
            if (tab.rows.length == 2) {
                continue;
            }
            //如果發現tNum和數組中最後一個值相同,那麼就可以斷定相同的td已經結束[隻是其中一個] 
            if (tNum1 == totalcount1[totalcount1.length - 1]) {
                //給當前td添加rowSpan屬性
                tTd1.setAttribute("rowSpan", totalcount1[totalcount1.length - 1]);
                tTd1.setAttribute("style", "background-color:#ffffff");
                //將數組的最後一個元素彈出
                totalcount1.pop();
                tNum1 = 0;
            } else {
                //刪除當前td  
                tab.rows[i].removeChild(tTd1);
            }

            if (tNum2 == totalcount2[totalcount2.length - 1]) {
                //給當前td添加rowSpan屬性

                tTd2.setAttribute("rowSpan", totalcount2[totalcount2.length - 1]);
                tTd2.setAttribute("style", "background-color:#ffffff");
                //將數組的最後一個元素彈出
                totalcount2.pop();
                tNum2 = 0;
            } else {
                //刪除當前td  
                tab.rows[i].removeChild(tTd2);
            }

            if (tNum3 == totalcount3[totalcount3.length - 1]) {
                //給當前td添加rowSpan屬性
                tTd3.setAttribute("rowSpan", totalcount3[totalcount3.length - 1]);
                tTd3.setAttribute("style", "background-color:#ffffff");
                //將數組的最後一個元素彈出
                totalcount3.pop();
                tNum3 = 0;
            } else {
                //刪除當前td  
                tab.rows[i].removeChild(tTd3);
            }
        }
    }
});

發佈留言