我在这里看到了几个“全部检查”的解决方案,但没有一个在其他方面有效:在选择了所有选项后选择全局复选框。
我有一个小组列表。每个组有4个项目,底部是“取消订阅全部”选项。
到目前为止,我已经能够处理“全部检查”选项,但是当我选择了所有取消订阅选项时,我正在努力检查某个组的“取消订阅全部”选项。
这是迄今为止我所拥有的 DEMO (现在已久)。在底部是我为此提供的一段代码,但当然,它不起作用。
其他功能正常,但是,这个是我需要的人。
非常感谢任何帮助。
感谢。
编辑 - 添加指向小提琴的链接,因为解决方案已隐藏在下面的评论中。感谢剧本的 j08691 。
的 DEMO 的
答案 0 :(得分:1)
您需要change()
事件到radio
按钮,如下所示:
$('.opt-out input[type=radio]').on('change', function() {
var table = $(this).closest('table'),
checkedBoxes = table.find('.opt-out input[type=radio]:checked').length,
total = table.find('.opt-out input[type=radio]').length;
table
.find('input[type=checkbox].unsubs-chkbx-group')
.attr('checked', checkedBoxes === total);
});
<强> DEMO 强>
:radio
选择器 deprecated is jQuery 1.8 。
答案 1 :(得分:1)
添加这段代码:
$(".opt-out input:radio").click(function() {
if($(this).parents('table').find(".opt-out input:checked").length==4)$(this).parents('table').find(".unsubs-chkbx-group").attr('checked','checked');
});
<强> jsFiddle example 强>