javascript - 如何保持 jQuery Accordion 禁用但仍更改其事件状态?

标签 javascript jquery accordion

我有一个 jQuery Accordion 定义如下:

$("#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 并且没有语法错误。

我怎样才能做到这一点? (进程中不开启 Accordion ,客户端一定不能改变 Accordion 的激活状态)

最佳答案

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

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

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

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

关于javascript - 如何保持 jQuery Accordion 禁用但仍更改其事件状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10613897/

相关文章:

ios - 如何快速触发按钮选择而不是单元格选择

javascript - 单击其中一个子元素后,如何更改完整部分的背景颜色?

javascript - 如果元素发生变化,如何向每个元素添加或删除类

javascript - JQuery 将一个 Div 值的百分比添加到另一个 Div 值的百分比

java - 使用 Selenium Webdriver 在 Accordion 中显示所有可折叠内容

jquery - Bootstrap 3 数据切换 Accordion

javascript - 在电子邮件正文中发送 html 模板

javascript - 如何判断我的页面是否被设置为用户的主页?

JavaScript:覆盖警报()

IE8 中的 jQuery ajax 调用错误