1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Layui table合并单元格

Layui table合并单元格

时间:2019-05-16 11:48:42

相关推荐

Layui table合并单元格

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);}})

//合并单元格, 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;// 这里涉及到简单的运算,mark是计算每次需要合并的格子数var mark = 1;// 需要合并的列名称//var columsName = ['id', 'name']; // 需要合并的列索引值//var columsIndex = [0, 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 () {// 相同列的第一列增加rowspan属性$(this).attr("rowspan", mark);});tdCurArr.each(function () {// 当前行隐藏$(this).css("display", "none");});}else {mergeIndex = i;mark = 1;// 一旦前后两行的值不一样了,那么需要合并的格子数mark就需要重新计算}}mergeIndex = 0;mark = 1;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。