Layui合并只能在数据加载完成后,写在done里面
具体如下
1 //重新加载数据表格 2 table.reload('tbOrderInfo', { 3 data: data.data, 4 done: function (res, curr, count) { 5 res = data; 6 7 //合并判断标志位 8 var rowOrderCd = ''; 9 var rowSupplierCd = ''; 10 11 //行集合 12 var trArr = $(".layui-table-body>.layui-table").find("tr"); 13 14 //待合并数组 15 var rowArr = new Array(10) 16 rowArr[0] = 2;//HIS作番 17 rowArr[1] = 3;//支号 18 rowArr[2] = 4;//供应商编码 19 rowArr[3] = 5;//供应商名称 20 rowArr[4] = 6;//HIS项目编码 21 rowArr[5] = 7;//HIS项目品名 22 rowArr[6] = 8;//订单数量 23 rowArr[7] = 11;//订单残 24 rowArr[8] = 12;//单位 25 rowArr[9] = 13;//交期 26 27 //循环数据部分 28 $(res.data).each(function (i, o) { 29 //合并行数 30 var rowspan = parseInt(o.ROW_SPAN);//后台计算的分组 31 32 //合并行判断 33 if (rowOrderCd == o.ORDER_CD && rowSupplierCd == o.SUPPLIER_CD) { 34 //去除元素 35 //必须逆序,正序删除后造成列序变动 36 for (var j = 10; j > 0; j--) { 37 trArr.eq(i).find("td").eq(rowArr[j - 1]).remove(); 38 } 39 } 40 else { 41 //需要合并行 42 for (var j = 0; j < 10; j++) { 43 trArr.eq(i).find("td").eq(rowArr[j]).attr("rowspan", rowspan); 44 } 45 } 46 47 //合并判断标志位 48 rowOrderCd = o.ORDER_CD; 49 rowSupplierCd = o.SUPPLIER_CD; 50 }); 51 } 52 });