我正在尝试开放&以编程方式关闭手风琴窗格。这是我的代码的简化版本。即使我将第一个窗格的选择设置为false并且第二个窗格的选择设置为true,但只有第一个窗格在浏览器(FF3)上加载时才会打开。
var accordionContainer = new dijit.layout.AccordionContainer().placeAt("test");
var accordPane = new dijit.layout.ContentPane({"title": "test", "content":"hello"});
var accordPane2 = new dijit.layout.ContentPane({"title": "test1", "content":"hello1"});
accordionContainer.addChild(accordPane);
accordionContainer.addChild(accordPane2, 1);
accordPane.startup();
accordPane2.startup();
//accordionContainer.selectChild(accordPane2);
accordionContainer.startup();
accordPane.selected = false;
accordPane2.selected = true;
答案 0 :(得分:10)
你可以这样做:
accordionContainer.selectChild( accordPane2 );
假设您正在使用dojo 1.3。
dijit.layout.AccordionContainer
是dijit.layout.StackContainer
的子类,已定义selectChild
。
我设置了demo page where you can see this code in action
如果您在selectChild
之前调用startup
,则可能会导致您在窗口小部件未处于“完整”状态时看到的错误。 (对不起,在我发布原始答案之前错过了已发布的代码)