以下是使用JQuery实现全选与取消全选功能的两种简单方法。这些方法假设你有一个复选框用于表示全选(master checkbox),以及多个子复选框(slave checkboxes)需要基于全选复选框的状态来更新。
### 方法一:使用`.prop()`方法
HTML 示例:
<input type="checkbox" id="checkAll"> 全选
<br>
<input type="checkbox" class="item"> 项目1
<input type="checkbox" class="item"> 项目2
<input type="checkbox" class="item"> 项目3
JQuery 代码:
// 全选
$('#checkAll').change(function() {
$('.item').prop('checked', this.checked);
});
// 取消全选(虽然通常不需要单独的取消全选按钮,但这里仅作演示)
// 假设有一个按钮或另一个复选框用于取消全选
$('#uncheckAll').click(function() {
$('#checkAll').prop('checked', false);
$('.item').prop('checked', false);
});
注意:在上面的代码中,我添加了一个假设的`#uncheckAll`元素来演示如何取消全选。但在实际应用中,通常不需要一个单独的取消全选操作,因为未选中全选框自然就会导致所有子复选框被取消选中。
### 方法二:使用`.each()`遍历子复选框
虽然`.prop()`方法已经足够简洁且高效,但这里还是提供一种使用`.each()`遍历子复选框的方法,以展示不同的实现方式。
JQuery 代码:
// 全选
$('#checkAll').change(function() {
$('.item').each(function() {
this.checked = $('#checkAll').is(':checked');
});
});
// 取消全选(同样,这里仅作演示)
$('#uncheckAll').click(function() {
$('#checkAll').prop('checked', false);
$('.item').each(function() {
this.checked = false;
});
});
在这个方法中,我们使用了`.each()`来遍历所有的子复选框,并根据全选框的状态来更新它们。然而,对于简单的全选/取消全选功能,`.prop()`方法更为简洁和高效。
在实际应用中,推荐使用方法一,因为它既简洁又易于理解。