下面是对JQuery对checkbox操作的完整攻略:
1. 获取选中的checkbox
在JQuery中获取选中的checkbox,可以通过以下两种方式实现:
1.1. 使用each()
方法循环获取
$('input[type="checkbox"]:checked').each(function () {
console.log($(this).val()); // 获取选中的checkbox的值
});
这里使用 $('input[type="checkbox"]:checked')
选择器选中已经被选中的checkbox,然后使用 each()
方法循环遍历选中的checkbox,每次遍历都会执行一个回调函数,通过 $(this).val()
获取选中的checkbox的值。
1.2. 使用map()
方法获取
var selected = $('input[type="checkbox"]').map(function() {
return this.checked ? $(this).val() : '';
});
console.log(selected.get()); // 获取选中的checkbox的值组成的数组
这里使用 $('input[type="checkbox"]')
选择器选中所有的checkbox,然后使用 map()
方法对每个checkbox进行操作,如果该checkbox被选中,则返回其值,否则返回一个空字符串。最后使用 get()
方法获取选中的checkbox的值组成的数组。
2. 循环操作checkbox
循环操作checkbox可以通过以下方式实现:
// 全选/全不选按钮的点击事件处理函数
$("#checkAll").click(function() {
$('input[type="checkbox"]').prop("checked", this.checked);
});
// 每个checkbox的点击事件处理函数
$('input[type="checkbox"]').click(function() {
if (!$(this).prop("checked")) {
$("#checkAll").prop("checked", false);
}
else {
if ($('input[type="checkbox"]:checked').length == $('input[type="checkbox"]').length) {
$("#checkAll").prop("checked", true);
}
}
});
这段代码实现了一个全选/全不选的功能,其算法如下:
- 点击全选/全不选按钮时,将所有的checkbox的状态置为与全选/全不选按钮一致。
- 点击每个checkbox时,如果当前checkbox被取消选中,则将全选/全不选按钮的状态置为未选中;如果当前checkbox被选中,则只有当所有的checkbox都被选中时,将全选/全不选按钮的状态置为选中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JQuery对checkbox操作 (循环获取) - Python技术站