请教 layui table组件中的 checkbox 如何动态勾选或取消
以下是采用 checkbox的click事件进行勾选,但是不能实现去掉勾选
注释部分为控制台的输出信息
另一种方法使用 $(checkboxObj).prop('checked', false); 做勾选或去选, 叠加 form.render(), 效果可以达到, 但是 checkStatus 的数据没有更新
var divTable = $('div[lay-id="toUser"]'); // 获取表
// undefined
var tableBox = $(divTable ).find('.layui-table-box'); // 获取box
var tableDiv;
if( tableBox.find('.layui-table-fixed.layui-table-fixed-l').length > 0 ){
// 存在固定列
tableDiv = tableBox.find('.layui-table-fixed.layui-table-fixed-l');
}else{
tableDiv = tableBox.find('.layui-table-body.layui-table-main');
}
// 获取复选框
var checkboxObj = tableDiv.find('div.layui-table-body tr[data-index]').find('.layui-form-checkbox i');
// 触发点击事件, 有输出,事件成功
checkboxObj[0].click();
// console.log
// {tr: pe.fn.init(2), data: {…}, checked: true, del: ?, update: ?, …}
// tr: pe.fn.init(2) [tr, tr, prevObject: pe.fn.init(2), context: undefined, selector: ".layui-table-body tr[data-index="0"]"]
// data: {userID: 13375, badgeNumber: "21030", name: "朱敬", defaultdeptid: 1124, DeptName1: "外单位", …}
// del: ? ()
// update: ? (e)
// checked: true
// type: "one"
// __proto__: Object
undefined
// 再次触发点击事件, 无输出, 没有能够去选
checkboxObj[0].click();
// undefined
// 获取勾选数据
var data = table.checkStatus('toUser');
// undefined
data // 输出勾选数据
// {data: Array(1), isAll: false}
[此贴子已经被作者于2021/12/4 11:34:06编辑过]