问题描述:标记所有人为选中后复选框状态出现问题
解决方法:
全选
function toggleSelectAll() {
var selectAllCheckbox = document.getElementById("selectAll");
var checkboxes = document.querySelectorAll("input[type='checkbox']:not(#selectAll)");
for(var i = 0; i < checkboxes.length; i++) {
checkboxes[i].checked = selectAllCheckbox.checked;
}
}
John
Mary
Bob
function updateSelectAll() {
var selectAllCheckbox = document.getElementById("selectAll");
var checkboxes = document.querySelectorAll(".personCheckbox");
var allChecked = true;
for(var i = 0; i < checkboxes.length; i++) {
if(!checkboxes[i].checked) {
allChecked = false;
break;
}
}
selectAllCheckbox.checked = allChecked;
}
现在,当全选的复选框状态改变时,所有人的复选框状态会同步更新。同样地,当每个人的复选框状态改变时,全选的复选框状态也会同步更新。这样就解决了标记所有人为选中后复选框状态出现问题的情况。
下一篇:标记所有属性为必需或非必需