jQuery 实现全选、全不选、反选
jQuery 是一款快速、简洁的 JavaScript 库,被广泛应用于网页开发中。在网页开发中,经常会遇到需要批量操作多个复选框的情况,比如全选、全不选和反选。在本文中,我们将使用 jQuery 来实现这些功能。
HTML 结构
首先,我们需要创建一个 HTML 结构来展示复选框和相应的操作按钮。以下是一个简单的示例:
<!DOCTYPE html>
<html>
<head>
<title>jQuery 实现全选、全不选、反选</title>
<script src="
<style>
table {
border-collapse: collapse;
margin-bottom: 10px;
}
th, td {
border: 1px solid #ccc;
padding: 5px;
}
</style>
</head>
<body>
jQuery 实现全选、全不选、反选
<table>
<thead>
<tr>
<th><input type="checkbox" id="check-all"></th>
<th>姓名</th>
<th>年龄</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="checkbox" class="check-item"></td>
<td>张三</td>
<td>20</td>
</tr>
<tr>
<td><input type="checkbox" class="check-item"></td>
<td>李四</td>
<td>25</td>
</tr>
<tr>
<td><input type="checkbox" class="check-item"></td>
<td>王五</td>
<td>30</td>
</tr>
</tbody>
</table>
<button id="select-all">全选</button>
<button id="select-none">全不选</button>
<button id="select-inverse">反选</button>
<script src="script.js"></script>
</body>
</html>
在上述代码中,我们创建了一个表格,其中包含了一个全选复选框、多个复选框以及相应的按钮。接下来,我们将用 jQuery 来实现相应的功能。
jQuery 实现全选、全不选、反选
首先,我们需要在页面加载完成后,为按钮和复选框绑定事件。在 script.js
文件中,添加以下代码:
$(document).ready(function() {
// 全选
$("#select-all").click(function() {
$(".check-item").prop("checked", true);
});
// 全不选
$("#select-none").click(function() {
$(".check-item").prop("checked", false);
});
// 反选
$("#select-inverse").click(function() {
$(".check-item").each(function() {
$(this).prop("checked", !$(this).prop("checked"));
});
});
// 全选复选框事件
$("#check-all").click(function() {
$(".check-item").prop("checked", $(this).prop("checked"));
});
// 复选框改变事件
$(".check-item").change(function() {
if ($(".check-item:checked").length === $(".check-item").length) {
$("#check-all").prop("checked", true);
} else {
$("#check-all").prop("checked", false);
}
});
});
在以上代码中,我们使用了 jQuery 的 click
方法来绑定按钮的点击事件。当点击 "全选" 按钮时,将所有复选框的 checked
属性设置为 true
;当点击 "全不选" 按钮时,将所有复选框的 checked
属性设置为 false
;当点击 "反选" 按钮时,遍历所有复选框,将其 checked
属性取反。
此外,我们还使用了 jQuery 的 change
方法来绑定复选框的改变事件。当复选框的状态改变时,判断当前选中的复选框数量是否等于所有复选框的数量,如果相等,则表示所有复选框都被选中,将全选复选框的状态设置为选中;否则,将全选复选框的状态设置为未选中。
测试功能
完成以上代码后,我们可以在浏览器中打开页面,并测试全选、全不选和反选