在layui的表格中 实现一个树形下拉选择框
时间: 2023-05-15 16:07:03 浏览: 93
可以使用 layui 的 tree 模块和 form 模块来实现一个树形下拉选择框。具体实现步骤如下:
1. 在 HTML 中定义一个表格,并在其中添加一个下拉选择框的列,如下所示:
```
<table class="layui-table">
<thead>
<tr>
<th>姓名</th>
<th>性别</th>
<th>城市</th>
<th>爱好</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>张三</td>
<td>男</td>
<td>
<div class="layui-input-inline">
<select name="city" lay-filter="tree">
<option value="">请选择城市</option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
</div>
</td>
<td>篮球</td>
<td>
<button class="layui-btn layui-btn-xs">编辑</button>
<button class="layui-btn layui-btn-danger layui-btn-xs">删除</button>
</td>
</tr>
</tbody>
</table>
```
2. 在 JavaScript 中初始化 layui 的 tree 模块和 form 模块,并为下拉选择框添加一个事件监听器,如下所示:
```
layui.use(['tree', 'form'], function(){
var tree = layui.tree,
form = layui.form;
// 初始化树形下拉选择框
tree({
elem: '#tree',
nodes: [
{
name: '北京',
id: 1,
children: [
{
name: '朝阳区',
id: 11
},
{
name: '海淀区',
id: 12
},
{
name: '东城区',
id: 13
}
]
},
{
name: '上海',
id: 2,
children: [
{
name: '浦东新区',
id: 21
},
{
name: '徐汇区',
id: 22
},
{
name: '黄浦区',
id: 23
}
]
},
{
name: '广州',
id: 3,
children: [
{
name: '天河区',
id: 31
},
{
name: '越秀区',
id: 32
},
{
name: '海珠区',
id: 33
}
]
},
{
name: '深圳',
id: 4,
children: [
{
name: '福田区',
id: 41
},
{
name: '南山区',
id: 42
},
{
name: '罗湖区',
id: 43
}
]
}
]
});
// 监听下拉选择框的 change 事件
form.on('select(tree)', function(data){
console.log(data.value); // 输出选中的值
});
});
```
3. 在 CSS 中定义一些样式,使树形下拉选择框的样式更美观,如下所示:
```
.layui-tree .layui-tree-txt {
padding-left: 20px;
}
.layui-tree .layui-tree-icon {
left: 0;
}
.layui-form-select .layui-edge {
right: 10px;
}
.layui-form-select dl {
max-height: 200px;
overflow-y: auto;
}
```
这样就可以实现一个树形下拉选择框了。