任何人都可以帮我吗?
我有两个div
个。在一个div
中,我有一个名为allcheck
的复选框,而在另一个div
中,我有一个名为outcheck
的复选框。如果我选中multiple
,则需要检查所有内容,如果取消选中multiple
,则应取消选中所有内容。输入无线电是allcheck
的等级。
$('.inputradio').click(function(){
$("INPUT[name='outCheck']").each(function () {
if (allCheck.checkbox== true) {//multi check is checked
this.checked = true;
} else {
this.checked = false;
}
});
});
HTML
这是主复选框的div
<div id="actions"><div id="box">
<ul><li class="inputradio"><input name="allCheck" type="checkbox" ></li>
<li class="multiple"><a href="#" class="bt btleft">Multiple</a></li>
这是针对儿童复选框:
<ul><li id="outcheckbox"><input name="outCheck" type="checkbox"></li>
即使检查了一个孩子,如果我们选中主复选框,也需要选择所有孩子。我发布的代码只是反过来检查。
答案 0 :(得分:1)
此代码实现了选择和取消选中所有复选框的功能
选择并取消选择
$(".select-all-checkbox").click(function () {
$('input:checkbox').prop('checked', this.checked);
});
如果一个项目取消选择,则按钮CheckAll为UnCheck
$(".mainCheckboxClass")
.click(
function() {
if ($('input[class=mainCheckboxClass]:checked').length === $('input[class=mainCheckboxClass]').length)
$('.select-all-checkbox').prop("checked", true);
else
$('.select-all-checkbox').prop("checked", false);
});
答案 1 :(得分:-1)
试试这个 -
$('input[name=allCheck]').click(function(){
$("INPUT[name='outCheck']").prop('checked', this.checked);
});
点击outCheck
即可切换名称为allCheck
的所有复选框。
请参阅demo
<强>更新强>
请参阅更新的demo here
这可以按预期工作。如果手动选中所有复选框,则主复选框也会更改,反之亦然,如果未选中一个子项,则主复选框也会取消选中。
答案 2 :(得分:-1)
试试这个:
var $ch = $("input[name='outCheck']").change(function() {
$all.prop('checked', $ch.filter(':checked').length == $ch.length);
}),
$all = $('input[name=allCheck]').click(function () {
$ch.prop('checked', this.checked);
});
这将根据检查的outcheck
个复选框的数量自动选择和取消选中主复选框。