根据行文本和类合并表行

时间:2015-04-09 18:36:42

标签: javascript html merge html-table

我找到了这个函数here,它几​​乎完全符合我的需要。该函数遍历表的第一列,并且行合并类似的值。然后,它遍历下一列,并且行也合并这些值,同时考虑到它之前的列的合并。这样,它完全符合我的需要。

function MergeCommonRows2(table, firstOnly) {
    var firstColumnBrakes = [];
    for (var i = 1; i <= table.find('th').length; i++) {
        var previous = null, cellToExtend = null, rowspan = 1;
        table.find("td:nth-child(" + i + ")").each(function (index, el) {
            if (previous == $(el).text() && $(el).text() !== "" && $.inArray(index, firstColumnBrakes) === -1) {
                $(el).addClass('hidden');
                cellToExtend.attr("rowspan", (rowspan = rowspan + 1));
            } else {
                if (firstOnly == 'first only') {
                    if (i === 1)
                        firstColumnBrakes.push(index);
                } else {
                    if ($.inArray(index, firstColumnBrakes) === -1)
                        firstColumnBrakes.push(index);
                }
                rowspan = 1;
                previous = $(el).text();
                cellToExtend = $(el);
            }
        });
    }
}

但是,我希望编辑该函数以考虑类。换句话说,我希望编辑该函数以首先检查要合并的两行的类。并且,即使它们具有相同的值,如果它们具有不同的类,则不合并行。我试图编辑上面的功能尽可能多,但无济于事。


更新

我编辑代码的尝试非常粗糙。本质上,我在代码if之前添加了一个hidden类,然后说,如果previous.getClass = current.getClass,只有那时才会进入隐藏类的if语句。

Here is the fiddle。我想点击合并按钮,因为&#34;点击我&#34;单元格之间有不同的类别,我不希望它们合并。

0 个答案:

没有答案