jQuery帮助取消勾选父,我需要切换孩子复选框
jQuery help when unchecking parent I need to toggle the children checkboxes
我正在制作一个简单的复选框树
http://jsfiddle.net/9dvR5/1/如果你点击太平洋>加利福尼亚>海湾地区>然后一个复选框。如果你取消了旧金山湾区儿童复选框。到目前为止一切顺利。我遇到的问题是,如果您再次执行此操作,但这次取消选中加利福尼亚,然后再次选中Bat Area,所有子区域都未选中,但如果您选中Bay Area,切换将被逆转。
如何取消或防止这种情况发生。
$('.region-group-checkbox').click(function() {
$(this).siblings('.region-state').toggle();
$(this).siblings().next().find(':checkbox').prop('checked', false);
});
$('.region-state-checkbox').click(function() {
$(this).siblings('.region-state-area').toggle();
$(this).siblings().next().find(':checkbox').prop('checked', false);
});
$('.region-state-area-checkbox').click(function() {
$(this).siblings('.region-state-area-sub').toggle();
$(this).siblings().next().find(':checkbox').prop('checked', false);
});
您可以为这些复选框触发click
事件,而不是将属性checked
设置为false
。
$('.region-group-checkbox').click(function () {
$(this).siblings('.region-state').toggle();
$(this)
.siblings()
.next()
.find(':checkbox:checked')
.trigger('click');
});
$('.region-state-checkbox').click(function () {
$(this).siblings('.region-state-area').toggle();
$(this)
.siblings()
.next()
.find(':checkbox:checked')
.trigger('click');
});
$('.region-state-area-checkbox').click(function () {
$(this).siblings('.region-state-area-sub').toggle();
$(this)
.siblings()
.next()
.find(':checkbox:checked')
.trigger('click');
});
http://jsfiddle.net/9dvR5/2/这可能不是最优雅的解决方案,但应该易于理解。
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- Angular JS Filter-通过3个复选框进行筛选
- 如果选中了多个复选框,如何添加事件
- Javascript复选框函数:;缺少:在属性id之后"
- JavaScript-切换“;全部检查”;复选框true/false
- 如何从javascript/jquery中的复选框中获取布尔值
- 在Ajax中捕获复选框值
- 选中列表中的复选框'的孩子
- jQuery帮助取消勾选父,我需要切换孩子复选框
- 当父复选框被选中时,我试图选中所有子复选框.但这只适用一次!当我下次尝试时,孩子没有被检查