layui静态表格复选框实现单选功能
时间: 2023-08-09 08:05:08 浏览: 309
在 layui 静态表格中,可以通过监听复选框的选中事件,来实现单选功能。具体实现步骤如下:
1. 在页面中定义数据表格,并设置其复选框列的 lay-skin 属性为 primary,表示使用原始风格的复选框。同时,设置表格的 lay-filter 属性为 demo,用于后续的事件监听。
```html
<table class="layui-table" lay-filter="demo">
<thead>
<tr>
<th><input type="checkbox" name="" lay-skin="primary" lay-filter="allChoose"></th>
<th>ID</th>
<th>姓名</th>
<th>性别</th>
<th>城市</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="" lay-skin="primary"></td>
<td>1</td>
<td>小明</td>
<td>男</td>
<td>北京</td>
</tr>
<tr>
<td><input type="checkbox" name="" lay-skin="primary"></td>
<td>2</td>
<td>小红</td>
<td>女</td>
<td>上海</td>
</tr>
<!-- ... -->
</tbody>
</table>
```
2. 在 JavaScript 代码中,监听表格的复选框选中事件,并在事件处理函数中,根据选中状态来判断是否需要取消其他行的选中状态。
```javascript
layui.use(['table', 'jquery'], function(){
var table = layui.table;
var $ = layui.jquery;
// 监听表格复选框选择
table.on('checkbox(demo)', function(obj){
var checkStatus = table.checkStatus('demo');
var data = checkStatus.data;
var isChecked = obj.checked;
var rowIndex = obj.data.LAY_TABLE_INDEX;
if (isChecked) {
// 如果选中,则取消其他行的选中状态
for (var i = 0; i < data.length; i++) {
if (data[i].LAY_TABLE_INDEX != rowIndex) {
table.checkStatus('demo').data[i].LAY_CHECKED = false;
}
}
}
});
});
```
在上述代码中,我们使用 layui 的 table 模块监听表格的复选框选中事件,并在事件处理函数中,根据选中状态来判断是否需要取消其他行的选中状态。这样,就可以实现静态表格复选框的单选功能了。
阅读全文