使手风琴激活:如果它包含一个面板,则为true

时间:2012-08-04 01:50:41

标签: jquery jquery-ui accordion jquery-ui-accordion

我正在使用jquery ui accordion来显示一些数据,如果有多个面板,我希望所有面板默认关闭active:false,但如果它只包含一个面板,则打开active:true

$(function() {
                $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: false,
                    change: function(event, ui) {
                        resize_iframe();
                    },
                    create: function(event, ui) {
                    if($("#accordion div").length == 1) {
                       $(this).accordion({active:true});
                    }
                }
                });
            });

我尝试了这个,但它不起作用,即使有一个面板,面板也总是关闭,所以任何人都知道问题在哪里?

2 个答案:

答案 0 :(得分:0)

我刚刚找到问题的解决方案,即创建两种不同的配置,然后根据条件创建手风琴。

 $(function() {
            var more = {autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: false,
                    change: function(event, ui) {
                        resize_iframe();
                    }
                };
                var one = {autoHeight:false, collapsible: true, navigation: true,
                    clearStyle: true, active: true
                    change: function(event, ui) {
                        resize_iframe();
                    }
                }
                if($("#accordion div").length == 1) {
                $("#accordion").accordion(one);
                } else {
                    $("#accordion").accordion(more);
                }
            });

答案 1 :(得分:0)

你也可以在jquery里面的手风琴控制结束后尝试:

$(function() {
    if($("#accordion div").length == 1) {
            $("#accordion").accordion();
            $("#accordion div").css("display", "block");
    }else
    {
            $("#accordion").accordion({autoHeight:false, collapsible: true, navigation: true,
                clearStyle: true, active: false,
                change: function(event, ui) {
                    resize_iframe();
                });
    }

});

我希望这会奏效,