admin 管理员组

文章数量: 1087131

layui复选框,设置部分可选

话不多说直接上代码

关键代码是,table的done回调和table.on复选框监听 

layui.use(['table', 'util'], function () {var table = layui.table;tableObj = table.render({elem: '#testId',height: 460,page: true,cols: [[ //表头{type: 'checkbox', fixed: 'left'}, {field: 'billDate', title: '入库时间', width: 150, templet: function (d) {return layui.util.toDateString(d.billDate, 'yyyy-MM-dd')}}, {field: 'billSn', title: '入库单据号', width: 150}, {field: 'supplier', title: '供应商', width: 150}, {field: 'purchaseOrderSn', title: '采购订单号', width: 150}, {field: 'status', title: '状态', width: 100, templet: function (d) {switch (d.status) {case 0:return "未到期";case 1:return "已到期";case 2:return "待生效";case -1:return "已作废";}}}]],url: 'test',where: {orderSn: orderSn,},method: 'post',done: function (res, curr, count) {//判断复选框是否可选中for (let i in res.data) {let item = res.data[i];if(item.status !== 1) {// 这里是判断需要禁用的条件// checkbox 根据条件设置不可选中$('tr[data-index=' + i + '] input[type="checkbox"]').prop('disabled', true);}}},request: {pageName: 'pageNumber',limitName: 'pageSize'}});table.on('checkbox(testTableLayFilter)', function(obj){//testTableLayFilter是你table设置lay-filterif (obj.checked === true) {layui.each(table.cache.testId, function (index, data) {// 获取当前页面表格的数据,testId是你的table的idif(data.status !== 1){data.LAY_CHECKED = false;$('tr[data-index=' + index + ']').find('div.layui-unselect').removeClass('layui-form-checked');}});}});});

本文标签: layui复选框 设置部分可选