Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery帮助取消选中父项时,我需要切换子项复选框_Javascript_Jquery_Html_Checkbox - Fatal编程技术网

Javascript jQuery帮助取消选中父项时,我需要切换子项复选框

Javascript jQuery帮助取消选中父项时,我需要切换子项复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我正在做一个简单的复选框树 如果单击太平洋>加利福尼亚>湾区>则会显示一个复选框。如果取消选中“间隔区域”,则取消选中“子项”复选框。到现在为止,一直都还不错。我遇到的问题是,如果您再次这样做,但这次取消选中“加利福尼亚”,然后再次选中“蝙蝠区域”,孩子们都未选中,但如果您选中“海湾区域”,则切换是反向的 如何取消切换或防止这种情况发生 $('.region-group-checkbox').click(function() { $(this).siblings('.region-st

我正在做一个简单的复选框树

如果单击太平洋>加利福尼亚>湾区>则会显示一个复选框。如果取消选中“间隔区域”,则取消选中“子项”复选框。到现在为止,一直都还不错。我遇到的问题是,如果您再次这样做,但这次取消选中“加利福尼亚”,然后再次选中“蝙蝠区域”,孩子们都未选中,但如果您选中“海湾区域”,则切换是反向的

如何取消切换或防止这种情况发生

$('.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); 
});

您可以为这些复选框触发
单击
事件,而不是将属性
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'); 
});

这可能不是最优雅的解决方案,但应该易于理解