2009-07-27 9 views
3

私はプログラムで閉じる&のアコーディオンペインを開こうとしています。ここに私のコードの簡略版があります。私が選択した最初のペインをfalseに設定し、2番目のペインをtrueに設定しても、ブラウザー(FF3)にロードすると最初のペインだけが開きます。Dijit AccordionContainer内でペインをプログラムで開く最善の方法を教えてください

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; 

答えて

10

あなたはこのようにそれを行うことができます。

accordionContainer.selectChild(accordPane2); 

あなたは道場1.3を使用していると仮定。

dijit.layout.AccordionContainerは、dijit.layout.StackContainerのサブクラスであり、selectChildが定義されています。あなたがstartupselectChildを呼び出した場合

私は、ウィジェットが「完了」状態ではありませんでしたので、あなたが見ていたエラーを引き起こす可能性がありますこと、demo page where you can see this code in action

を設定します。 (申し訳ありませんが、私は元の答えを投稿する前に、コードを忘れました)

+0

ありがとうございます。 私はdojo 1.3.2を使用しています。私はやってみた accordionContainer.selectChild(accordPane2); がエラーを報告しました。 newWidget._buttonWidgetは定義されていません APIによると、selectChildはAccordionContainerの関数ではありません。 – pacman

+0

私は応答で私の答えを更新しました。 – seth

+1

セスありがとうございます。 – pacman

関連する問題