web-dev-qa-db-ja.com

dijit.form.Selectウィジェットの値(選択されたオプション)の設定

Dijit.form.Selectウィジェットがあります。それが重要な場合は、データストアに関連付けられています。それはすでにいくつかのオプションで満たされています。私がやりたいのは、プログラムでその値を設定することだけです。 myWidget.attr('value')を使用してその値を取得できますが、たとえばmyWidget.attr('value', 5)を実行しようとすると(5は有効な値の1つです)、ウィジェットをリセットして非常に最初のオプションは、どのような値を付けても。

これはバグのようで、私がやりたいことを達成する方法を示すテストやドキュメントはありません。しかし、それが汚いハックであっても、何らかの方法はありますか?

Dojo1.4.0を使用しています。 dijit.form.Selectはdojox.form.DropDownSelectの新しい名前であることに注意してください。

編集:すべての新しいオプションでウィジェットをリセットしようとしましたが、selected = trueを持つオプションを無視し、最初のオプションを選択するだけです。しかし、まだ方法があるに違いありません。

14
aehlke

値がintであっても、整数を文字列に設定すると、これは機能します。

dijit.byId( 'my_select' ).attr( 'value', String( 5 ) );
15
voidstate

それはバグであることが判明しました-オプション値が文字列でない場合、それは機能しません(私のものは整数でした)。

11
aehlke

私のコメントの再投稿:ここにテストページがあります: dojo archive あなたがいじることができます。ファイヤーバグを使用して、そのページでdijit.byId( 's9')。attr( 'value'、 'C​​O')を正常に使用しました。これにより、そのページに「ストアベース」の選択が設定されます。

しかし、あなたが言ったように、私は文字列を使用して設定し、整数を使用していたので、バグは見られませんでした。良いキャッチ。

2
jbarz