2011-10-23 33 views
7

別の選択ウィジェットの値が変わるたびにdijit selectウィジェットにオプションを設定します。dijit選択ウィジェットの選択値をプログラムで設定

私のアプリでは、 "バスルート"のドロップダウンメニューと "バス停"のドロップダウンメニューがあります。 ユーザーは、バスルートとストップを割り当て、更新可能にする必要があります。

ページが最初に読み込まれると、ルートドロップダウンボックスにはすべてのルートがあり、現在割り当てられているルートが選択された値になります。停止メニューには、そのルートに関連付けられたすべてのストップがロードされますが、選択された値はありません。したがって、デフォルトでは、最初のオプションです。

ユーザが現在選択されているルートを変更するたびに、停止メニューがそれに応じて変更され、そのルートに関連付けられたすべてのストップが設定されます。

私の質問はdojoで、停止メニューの「Selected」オプションをどのように設定できますか?

「選択された」停止がルートの最初のオプションではなく、そのユーザーに現在割り当てられている停止を明確にしたいと思います。

ありがとうございました。あなたは(labelvalueを持つオブジェクトの配列など)optionsプロパティを経由してオプションを指定している場合

答えて

17
selectWidget.set("value", someValue); 

、そしてsomeValueは、これらのオブジェクトの1のvalueと一致する必要があります。 (あなたはまた、右optionsに渡された配列内のオブジェクトの1つにselected: trueを指定できることに注意してください。)

あなたはstoreプロパティによってdojo.dataストアからアイテムを提供している場合は、someValueは1のIDと一致する必要がありますストアのアイテムの

(編集)注:上記の "dijit select widget"はdijit.form.Selectを指しています。実際にdijit.form.ComboBoxまたはdijit.form.FilteringSelectを使用している場合は、最後の段落の店舗に適用される場合と同じコード行が実際に適用されます。 selectタグを使用する宣言的インスタンシエーションの場合、ComboBoxおよびFilteringSelectは、項目の識別情報がselectタグ内のオプションの値であるストアを作成します。

3
//With dojo version 1.9 
//search for the item in store dojo/store/Memory with the corresponding id value 
var objItem = store.get("1"); 
//set the combobox's item 
comboBox.set("item", objItem); 
+1

これは私が探していた場所です。 – GuyT

+0

値をクリアしても動作させる方法はありますか? – streetlight

関連する問題