gpt4 book ai didi

javascript - 嵌套复选框 : Checked/Unchecked children with parent check

转载 作者:行者123 更新时间:2023-11-28 20:04:07 27 4
gpt4 key购买 nike

嗨,我有一个带有三层嵌套复选框的表单

使用 Jquery,当我检查父级别时,我需要选中/取消选中所有子级...当然,如果至少有一个子级未选中,则取消选中父级

我尝试过但从未成功,这就是为什么我调用你的帮助:)

非常感谢大家

我的html代码:

此处演示:http://jsfiddle.net/SENV8/86/

<fieldset class="floral">
<input type="checkbox" class="familybox cbox">
<label>Level 1</label>
<ul class="valuelist">
<li>
<input type="checkbox" class="cbox mainoption">
<label>Level 2</label>
<ul class="suboption">
<li>
<input type="checkbox" class="cbox">
<label>Level 3</label>
</li>
</ul>
<ul class="suboption">
<li>
<input type="checkbox" class="cbox">
<label>Level 3</label>
</li>
</ul>
</li>
<li>
<input type="checkbox" class="cbox mainoption">
<label>Level 2</label>
<ul class="suboption">
<li>
<input type="checkbox" class="cbox">
<label>Level 3</label>
</li>
</ul>
<ul class="suboption">
<li>
<input type="checkbox" class="cbox">
<label>Level 3</label>
</li>
</ul>
</li>
</ul>
</fieldset>

编辑:我带着我的脚本来了:

$('.familybox').change(function() {
var getparent = $(this).closest('fieldset').attr('class');

if($('.'+getparent+' .familybox').is(':checked')){
$('.'+getparent+' .valuelist input:checkbox').prop('checked', true);
} else if($('.'+getparent+' .familybox').not(':checked')) {
$('.'+getparent+' .valuelist input:checkbox').prop('checked', false);
}

});

最佳答案

看到我已经实现了您的要求。

需要对 HTML 进行一些更改,就像我在 JSfiddle 中所做的那样。

总的Jquery脚本如下:

<script type="text/javascript">
$(document).ready(function () {
$.extend($.expr[':'], {
unchecked: function (obj) {
return ((obj.type == 'checkbox' || obj.type == 'radio') && !$(obj).is(':checked'));
}
});

$(".floral input:checkbox").live('change', function () {
$(this).next('ul').find('input:checkbox').prop('checked', $(this).prop("checked"));

for (var i = $('.floral').find('ul').length - 1; i >= 0; i--) {
$('.floral').find('ul:eq(' + i + ')').prev('input:checkbox').prop('checked', function () {
return $(this).next('ul').find('input:unchecked').length === 0 ? true : false;
});
}
});
});
</script>

观看现场演示:

JSFiddle

关于javascript - 嵌套复选框 : Checked/Unchecked children with parent check,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21135962/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com