1

我有一个 jQuery 手风琴定义如下:

$("#acrd").accordion({
    autoHeight: false,
    header: '.navhead',
    alwaysOpen: true,
    navigation: true,
    collapsible: true,
    disabled: true
});

当客户点击一个按钮时,我会调用一个函数DoSomething(),如下所示:

function DoSomething(id) {
    $.ajax({
        url: "getapage.php?id="+id,
        cache: false
        }).done(function( html ) {
            if(html == 'OK') {
                $("#acrd").accordion({ active: 1 }); // doesn't work
            } else {
                alert("Give an error!");
            }
    });
}

但是当我单击按钮时没有任何反应,我检查了 Firebug 并且没有语法错误。

我怎样才能做到这一点?(如果没有在进程中启用手风琴,客户端一定不能改变手风琴的活动状态)

4

4 回答 4

2

您可能打算使用activate激活指定内容部分的方法:

$("#acrd").accordion("activate", 1);

但是,当手风琴被禁用时,这将不起作用。所以你需要把它写成

$("#acrd").accordion("enable").accordion("activate", 1).accordion("disable");
于 2012-05-16T07:36:00.860 回答
0

使用指定的活动选项初始化手风琴。

$( "#acrd" ).accordion({ active: 2 , others.... });

然后试试你的代码...

于 2012-05-16T07:34:18.907 回答
0

像这样的东西,正如文档所说 Get or set the active option, after init. 的,jquery ui active

$( "#acrd" ).accordion( "option", "active", 2 );
于 2012-05-16T07:39:24.760 回答
0

如果您希望永久禁用它,那么这可能对您有用

$("#accordion h3").unbind("click");

将 h3 替换为您用作可点击标题的任何元素。您仍然可以通过激活方法或设置活动选项来更改选项卡。

Soruce:jQuery 手风琴:防止窗格打开/取消 changestart 事件

于 2012-12-13T15:40:19.720 回答