jQuery UI Accordion激活

efl*_*lat 10 jquery accordion jquery-ui-accordion

我不知道怎么做,或者我能做到这一点.我有一个jQuery UI Accordion,多个部分,每个部分包含多个锚标记,每个锚标记都有一个唯一的字符串id.

我希望能够将手风琴打开到具有给定id的特定元素的位置.比如说id"item117".我可以使用类似的东西吗?

$('#accordion').activate('activate','#item117');
Run Code Online (Sandbox Code Playgroud)

甚至

$('#accordion').activate('activate',117);
Run Code Online (Sandbox Code Playgroud)

我尝试了这些和一些变化,但无法让它去.在我试图开始工作的情况下,手风琴应该打开到第二部分的末尾.


我还没有得到这个,所以也许我也做错了.我已将其删除到示例页面:http://www.ofthejungle.com/testaccordion.php 请查看它及其来源.

Pem*_*tor 12

已经过了这个并找到了很好的通用解决方案
- 模拟按其ID 点击所需项目的标题

$('#header-of-item-258').click(); 
Run Code Online (Sandbox Code Playgroud)

随时随地工作,而不仅仅是手风琴


小智 12

来自文档:

// getter
var active = $( ".selector" ).accordion( "option", "active" );

// setter
$( ".selector" ).accordion( "option", "active", 2 );
Run Code Online (Sandbox Code Playgroud)


小智 10

对我来说工作

$("#accordion").accordion({active:"h3:last"})
Run Code Online (Sandbox Code Playgroud)


Chu*_*Han 9

这最终对我有用:

$("#accordion").accordion("activate", $("#h3-id"));
Run Code Online (Sandbox Code Playgroud)

注意!!!id必须是您要打开的<h3>元素的id(在默认的折叠设置中).


Dou*_*ner 8

您需要使用名为的函数调用它accordion:

// Open the third set (zero based index)
$('#accordion').accordion('activate', 2); 
Run Code Online (Sandbox Code Playgroud)

要打开包含特定元素的部分,您可以执行类似的操作.注意:您需要定位通常打开和关闭该部分的触发器.在文档中,这是一个h3元素,您的触发元素可能不同,因此请相应地更改它.

$('#accordion').accordion('activate', '#accordion > div:has(#item117) > h3'); 
Run Code Online (Sandbox Code Playgroud)


Sae*_*ros 0

尝试

$('#accordion').activate('#item117');
Run Code Online (Sandbox Code Playgroud)

或者

$('#accordion').activate(document.getElementById('item117'));
Run Code Online (Sandbox Code Playgroud)

激活手风琴的正确语法是

$(".selector").activate(var index)
Run Code Online (Sandbox Code Playgroud)

其中索引是字符串、元素、布尔值、数字、JQuery