废话不多说,直接上图上代码:
实现效果:
1、选中title的复选框,则td里的复选框全部选中;取消title的复选框,则td里的复选框全部取消;
2、当td里的复选框宣布选中,则title里的复选框也选中;如果td里的复选框只有部分选中,则title里的复选框不选中;
js 代码:
// 勾选或取消勾选全选复选框,参数:1.tableId复选框所在table的ID
// 2.checkAllName=全选checkbox对象名称,3.name=单个单选框名称
function checkBoxOnClick(tableId, checkAllName, name) {
$("#" + tableId + " tbody").on("click","tr td input[name='" + name + "']",
function() {
if ($(this).is(":checked") == true) {
// 如果当前框被选中,则判断是否需要勾选全选框
var checkbox = $("input[name='" + name + "']");
var length = $(checkbox).length;
if (length > 0) {
for (var i = 0; i < length; i++) {
if ($(checkbox[i]).is(":checked") != true) {
break;// 如果有未勾选的选择框,不需要勾选全选,跳出循环
}
if (i == length - 1) {
// 如果到最后一个选择框仍然是勾选状态,即所有选择框都被勾选,则勾选全选框
$("input[name='" + checkAllName + "']")
.prop("checked", true);
$("input[name='" + checkAllName + "']")
.prop("title", "全不选");
}
}
}
} else {
// 如果当前选择框未勾选,则取消全选框勾选状态
$("input[name='" + checkAllName + "']").prop(
"checked", false);
$("input[name='" + checkAllName + "']").prop(
"title", "全选");
}
}
);
}
使用:
//勾选或取消全选 checkBoxOnClick("myTable","checkAll","checkOne");