我想问LayUI的表格实现点击行,然后选中复选框
时间: 2024-03-01 08:02:27 浏览: 104
要实现LayUI表格的行点击选中复选框的功能,可以通过以下步骤来实现:
1. 在表头中添加一个全选的复选框,并为其设置一个ID。
2. 在每一行的第一列中添加一个复选框,并为其设置一个lay-skin属性为primary,例如“<input type="checkbox" name="" lay-skin="primary" class="check-box">”。
3. 给表格绑定一个行点击事件,在点击事件中判断点击的元素是否为复选框或者全选的复选框,如果是,则执行对应的操作。
4. 当点击某一行时,获取该行的复选框元素,并设置其选中状态为true。
下面是一个示例代码:
```html
<table class="layui-table" id="myTable">
<thead>
<tr>
<th><input type="checkbox" name="" lay-skin="primary" id="checkAll"></th>
<th>列1</th>
<th>列2</th>
<th>列3</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td>
<td>行1列1</td>
<td>行1列2</td>
<td>行1列3</td>
</tr>
<tr>
<td><input type="checkbox" name="" lay-skin="primary" class="check-box"></td>
<td>行2列1</td>
<td>行2列2</td>
<td>行2列3</td>
</tr>
</tbody>
</table>
<script>
// 全选复选框的点击事件
$('#checkAll').on('click', function() {
if ($(this).is(':checked')) {
$('.check-box').prop('checked', true);
} else {
$('.check-box').prop('checked', false);
}
});
// 行点击事件
$('#myTable tbody tr').on('click', function() {
// 判断是否为复选框或者全选复选框
if ($(event.target).is(':checkbox') || $(event.target).parent().is(':checkbox')) {
return;
}
// 获取该行的复选框元素
var checkBox = $(this).find('.check-box');
// 判断该复选框是否已选中
if (checkBox.is(':checked')) {
checkBox.prop('checked', false);
} else {
checkBox.prop('checked', true);
}
});
</script>
```
在这段代码中,我们首先给表头添加一个ID为“checkAll”的全选复选框,然后在每一行的第一列中添加lay-skin属性为primary的复选框。接着,我们给全选复选框和每行绑定点击事件,在事件中判断点击的元素是否为复选框或者全选复选框,然后执行对应的操作。当点击某一行时,我们获取该行的复选框元素,并设置其选中状态。这样,就可以实现行点击选中复选框的功能了。
阅读全文