废话不多说,直接上图上代码:
实现效果:
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");