jquery手风琴激活不起作用

时间:2013-03-26 14:52:39

标签: javascript jquery html jquery-ui accordion

我有accordion这样的

<div id="accordion">
    <h3 id="idname1">text</h3>
    <div>
        Text TEXT text
    </div>
    <h3 id="idname2">text</h3>
    <div>
        Text TEXT text
    </div>
    <h3 id="idname3">text</h3>
    <div>
        Text TEXT text
    </div>
</div>

现在,我希望人们点击链接(位于页面顶部),然后该面板将会打开 每当我调用我的功能时,人们都会看到它

$('.myclass').click(function() {
    // this is to open the right pannel 
    var getal = $(this).attr('id');
    alert(getal); // i get the right name

    $("#accordion").accordion('activate', 1);
});

我的控制台给了我这个错误

  

错误:对于手风琴小部件实例

,没有这样的方法'激活'

我不知道问题是什么我尝试了很多不同的东西,但都没有用。

3 个答案:

答案 0 :(得分:23)

我认为您希望以编程方式打开手风琴窗格。如果是这样,你想要这样的东西:

$("#accordion").accordion("option", "active", 1);

(假设您正在使用jQuery UI库)

http://api.jqueryui.com/accordion/#option-active

请注意,这将打开第二个折叠式窗格,因为这些选项接受基于0的整数。 (0是第一,1是第二,等等)。所以只需确保将正确的整数传递给方法调用:)

您的代码无法运行的原因是因为jQuery UI团队刚刚删除了v1.10中的activate方法,并特别推荐使用我提供的内容:http://jqueryui.com/upgrade-guide/1.10/#removed-activate-method-use-active-option

答案 1 :(得分:-1)

像这样激活它

$( "#accordion" ).accordion( "option", "active", 0 );

要启用/禁用为此目的使用方法。

$("#accordion" ).accordion( "enable" );
$("#accordion" ).accordion( "disable" );

在第一次使用init后使用选项对象来访问手风琴的选项。

$("#accordion").accordion( "option", "disabled", true ); // set
var x = $("#accordion").accordion( "option", "disabled"); // get

查看API http://api.jqueryui.com/accordion/

答案 2 :(得分:-2)

这应该有效,但是它不会动画:

$('.myclass').click(function () {
         // this is to open the right pannel 
         var getal = $(this).attr('id');
         alert(getal); // i get the right name

         $("#accordion").accordion('option', 'active', 1);
     });

您尝试在1.9.x中使用WAS但在1.10.x中删除的方法 http://api.jqueryui.com/accordion/#option-active