layui treeGrid多级数据通过js代码全选复选框 全套代码加html
时间: 2023-11-29 09:03:48 浏览: 106
好的,以下是一个简单的例子,使用 layui treeGrid 实现多级数据的全选复选框:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>layui treeGrid 多级数据全选复选框</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css">
</head>
<body>
<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12">
<table class="layui-hide" id="demo" lay-filter="test"></table>
</div>
</div>
</div>
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script>
<script>
layui.use(['treeGrid', 'form'], function(){
var treeGrid = layui.treeGrid,
form = layui.form;
// 数据
var data = [{
id: 1,
name: '节点1',
children: [{
id: 2,
name: '节点2',
children: [{
id: 3,
name: '节点3'
}, {
id: 4,
name: '节点4'
}]
}]
}, {
id: 5,
name: '节点5',
children: [{
id: 6,
name: '节点6'
}, {
id: 7,
name: '节点7'
}]
}];
// 渲染表格
treeGrid.render({
elem: '#demo',
data: data,
treeId: 'id',
treeUpId: 'pid',
treeShowName: 'name',
cols: [[
{type: 'checkbox'},
{field: 'name', title: '名称'}
]],
done: function(res, curr, count){
// 表格渲染完成后,绑定全选复选框事件
$('.layui-table-header th[data-field="0"] input[type="checkbox"]').on('click', function(){
var isChecked = $(this).prop('checked');
$('tbody input[type="checkbox"]').each(function(){
$(this).prop('checked', isChecked);
});
form.render('checkbox');
});
}
});
});
</script>
</body>
</html>
```
在上面的代码中,我们首先引入了 layui 的依赖库,然后定义了一个数据数组,用于渲染表格。接着,我们使用 layui.treeGrid.render 方法渲染了一个 treeGrid 表格,并设置了一些必要的参数,例如树节点的标识字段、父节点的标识字段、显示节点名称的字段等等。
在表格渲染完成后,我们通过 jQuery 绑定了全选复选框的点击事件,当点击全选复选框时,会将整个表格的复选框全部选中或取消选中,并使用 layui.form.render 方法重新渲染表格中的复选框。
注意,在上述代码中,我们使用了 jQuery 的 each 方法遍历了所有的复选框,并使用 prop 方法设置了它们的选中状态。如果你使用的是其他的 JavaScript 库或框架,可能需要使用不同的方法来获取和设置复选框的状态。
阅读全文