页面上有这么一张表格,点击All时将列表中的复选框全部勾选,反之亦然。
表头:
<th>
<input type="checkbox" id="chkAll" onclick="CheckAll(this)" />All
</th>
表格数据源绑定:
{
"data": "View",
width: "15%",
render: function (data, type, row, meta) {
return "<input class='chkGroup' isview='" + row.id + "' type='checkbox' " + (data ? "checked='checked'" : "") + " />";
}
}
CheckAll方法原来是这么写的:
function CheckAll(el) {
$(".chkGroup").attr("checked", el.checked);
}
这个写法有个问题,当列表中的Checkbox被点击过后再去点All,All那个复选框会失灵,列表中点击过的Checkbox就不受控制,修改如下可以解决:
function CheckAll(el) {
$(".chkGroup").prop("checked", $(el).prop("checked"));
}