layui合并单元格(此方式适用于没有列冻结的单元格合并)
function layuiRowspan(fieldName, index, fieldName2) {
var tbodyNode = document.getElementsByClassName("layui-table-body")[index - 1];
var child = tbodyNode.getElementsByTagName("td");
var childFilterArr = [];
var childFilterArr2 = [];
for (var i = 0; i < child.length; i++) {
if (child[i].getAttribute("data-field") === fieldName) {
childFilterArr.push(child[i]);
}
if (child[i].getAttribute("data-field") === fieldName2) {
childFilterArr2.push(child[i]);
}
}
var childFilterTextObj = {};
for (var i = 0; i < childFilterArr.length; i++) {
var childText = childFilterArr[i].textContent;
if (childFilterTextObj[childText] == undefined) {
childFilterTextObj[childText] = 1;
} else {
var num = childFilterTextObj[childText];
childFilterTextObj[childText] = num * 1 + 1;
}
}
for (var key in childFilterTextObj) {
var tdNum = childFilterTextObj[key];
var canRowspan = true;
for (var i = 0; i < childFilterArr.length; i++) {
if (childFilterArr[i].textContent == key) {
if (canRowspan) {
childFilterArr[i].setAttribute("rowspan", tdNum);
childFilterArr2[i].setAttribute("rowspan", tdNum);
canRowspan = false;
} else {
childFilterArr[i].style.display = "none";
childFilterArr2[i].style.display = "none";
}
}
}
}
}
table.render({
elem: '#AuthBindingTable'
, height: "full-250"
, cols: columns
, data: data
, page: true
, limit: 40
, toolbar: 'true'
, limits: [40, 50, 60, 70]
, done: function (res, curr, count) {
layuiRowspan("odCode", 1, "name");
}
});