填坑系列: jQuery解决复选框只能全选一次

时间:2021-12-13 08:50:31

填坑系列: jQuery解决复选框只能全选一次

一开始的做法是这样的

$("[name='selectAll']:checkbox").click(function(){
if ($(this).attr("checked") == true) {
$("[name='data-item']:checkbox").attr('checked', true);
} else {
$("[name='data-item']:checkbox").attr('checked', false);
}
});
但是发现这样写只能全选和取消全选各一次, 之后点击selectAll复选框, 只有它自己被选中, 其他都未被选中

最终解决方法

$("[name='selectAll']:checkbox").click(function(){
if ($(this).prop("checked") == true) {
$("[name='data-item']:checkbox").prop('checked', true);
} else {
$("[name='data-item']:checkbox").prop('checked', false);
}
});

或者更简洁的方法

$("[name='selectAll']:checkbox").click(function(){
var checkOrNot = $(this).prop("checked");
$("input[name='data-item']").prop("checked", checkOrNot);
});