table.render({
...
...
...
done: function (res, curr, count) {
var columsName = ["De_Name", "Brand"];
var columsIndex = [1, 2];
var elem = "div[lay-id='dataTable_Client'] ";
merge(res, columsName, columsIndex, elem);
}
})
function merge(res, columsName, columsIndex, elem) {
if (elem === null) {
elem = ".layui-table-body>.layui-table";
} else {
elem += ".layui-table-body>.layui-table";
}
var data = res.data;
var mergeIndex = 0;
var mark = 1;
for (var k = 0; k < columsName.length; k++) {
var trArr = $(elem).find("tr");
for (var i = 1; i < res.data.length; i++) {
var tdCurArr = trArr.eq(i).find("td").eq(columsIndex[k]);
var tdPreArr = trArr.eq(mergeIndex).find("td").eq(columsIndex[k]);
if (data[i][columsName[k]] === data[i - 1][columsName[k]]) {
mark += 1;
tdPreArr.each(function () {
$(this).attr("rowspan", mark);
});
tdCurArr.each(function () {
$(this).css("display", "none");
});
}
else {
mergeIndex = i;
mark = 1;
}
}
mergeIndex = 0;
mark = 1;
}
}