我有一个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并且没有语法错误。
我怎样才能做到这一点? (在此过程中不启用手风琴,客户端必须无法改变手风琴的活动状态)
答案 0 :(得分:2)
您可能想要使用activate
方法来激活指定的内容部分:
$("#acrd").accordion("activate", 1);
然而,当手风琴被禁用时,这将不起作用。所以你需要把它写成
$("#acrd").accordion("enable").accordion("activate", 1).accordion("disable");
答案 1 :(得分:0)
使用指定的有效选项初始化手风琴。
$( "#acrd" ).accordion({ active: 2 , others.... });
然后尝试你的代码......
答案 2 :(得分:0)
有些类似的事情,因为文档Get or set the active option, after init.
就像这样jquery ui active
$( "#acrd" ).accordion( "option", "active", 2 );
答案 3 :(得分:0)
如果您希望永久禁用它,那么这可能对您有用
$("#accordion h3").unbind("click");
将h3替换为您使用的任何元素作为可点击标题。您仍然可以通过激活方法或设置活动选项来更改选项卡。
Soruce:jQuery accordion: prevent pane from opening/cancel changestart event