layui数据表格复选框实现单选功能
时间: 2023-08-29 08:07:58 浏览: 101
在 layui数据表格中,可以通过监听复选框的选中事件,来实现单选功能。具体实现步骤如下:
1. 在页面中定义数据表格,并设置其复选框列的lay-skin属性为primary,表示使用原始风格的复选框。
```html
<table class="layui-table" id="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', function(){
var table = layui.table;
//监听表格复选框选择
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;
}
}
}
});
});
```
在上述代码中,我们首先获取当前表格的选中状态,然后获取当前选中的行的索引值,接着判断是否为选中状态,如果是,则遍历所有行,将除当前选中行之外的其他行的选中状态取消。这样,就可以实现单选功能了。
阅读全文