Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.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
在嵌套jQuery Accordion中上卷子元素_Jquery_Jquery Ui_Accordion - Fatal编程技术网

在嵌套jQuery Accordion中上卷子元素

在嵌套jQuery Accordion中上卷子元素,jquery,jquery-ui,accordion,Jquery,Jquery Ui,Accordion,当使用jQuery的Accordion(以嵌套方式)时,我希望确保在单击/打开父元素时,所有打开的子元素都被关闭/卷起。我不确定尝试执行此操作时应使用什么选择器。到目前为止,我已经尝试操纵一个“activate”设置为false的变更事件,但这只会使任何打开的元素自动关闭 假设我只有一个嵌套的accordion,我的jquery初始化如下所示: $(".accordion").accordion({ active: false, collapsible: true, au

当使用jQuery的Accordion(以嵌套方式)时,我希望确保在单击/打开父元素时,所有打开的子元素都被关闭/卷起。我不确定尝试执行此操作时应使用什么选择器。到目前为止,我已经尝试操纵一个“activate”设置为false的变更事件,但这只会使任何打开的元素自动关闭

假设我只有一个嵌套的accordion,我的jquery初始化如下所示:

$(".accordion").accordion({
            active: false, collapsible: true, autoHeight: false, animated: 'swing'
        });

        $(".child-accordion").accordion({
            active: false, collapsible: true, autoHeight: false, animated: 'swing',
            change: function(event, ui) { $(".child-accordion").accordion("activate", false); }
        });
其中.child accordion是嵌套实例。当手风琴的一个成员打开时,我需要关闭儿童手风琴下的任何东西

$(".accordion").accordion({
    collapsible: true,
    autoHeight: false,
    animated: 'swing',
    changestart: function(event, ui) {
        child.accordion("activate", false);
    }
});

var child = $(".child-accordion").accordion({
    active:false,
    collapsible: true,
    autoHeight: false,
    animated: 'swing'
});
你的版本不起作用的原因有两个

  • 您的更改事件需要在父项上,因为此时您希望子项汇总

  • 您需要设置事件
    changestart
    ,因为当您将
    activate
    设置为false时,它所做的主要事情是
    toggle
    子项中当前“可见”的部分,但是当
    change
    事件在父项上触发时,子项已经隐藏,因此它什么也不做


  • 编辑:这是一个有效的版本

    更改事件是否应该在.accordion类上?我试过了,似乎没有任何效果。太好了!这正是我想要的。