1 回答
TA贡献1784条经验 获得超7个赞
在您的全选更改处理程序中,您可以只选择与您当前匹配的输入 groupID
jQuery(".cl-checkall").change(function() {
jQuery('.cl-checkbox[data-groupID="' + jQuery(this).data("groupid") + '"]')
.prop('checked', jQuery(this).prop("checked"));
});
这实际上是您已经拥有的,但我们将数据选择器添加到 jQuery 搜索以排除页面上的其他复选框。
(jQuery(this).data("groupid")jQuery 要求数据属性名称为小写)将返回更改元素的数据属性,并且[data-groupID="x"]只会匹配具有 groupID 的元素x
(由于您现在有多个,您可能还想开始在全选复选框上使用一个类而不是一个 ID,我已将其更改为 using .cl-checkall)
可以将相同的更改应用于单个复选框侦听器,仅选择具有匹配数据属性的全选。
jQuery('.cl-checkbox').change(function() {
if(false == jQuery(this).prop("checked")) {
jQuery('.cl-checkall[data-groupID="' + jQuery(this).data("groupid") + '"]').prop('checked', false);
}
if (jQuery('.cl-checkbox[data-groupID="' + jQuery(this).data("groupid") + '"]:checked').length == jQuery('.cl-checkbox[data-groupID="' + jQuery(this).data("groupid") + '"]').length ){
jQuery('.cl-checkall[data-groupID="' + jQuery(this).data("groupid") + '"]').prop('checked', true);
}
});
添加回答
举报
