Dijit.form.Selectウィジェットがあります。それが重要な場合は、データストアに関連付けられています。それはすでにいくつかのオプションで満たされています。私がやりたいのは、プログラムでその値を設定することだけです。 myWidget.attr('value')
を使用してその値を取得できますが、たとえばmyWidget.attr('value', 5)
を実行しようとすると(5は有効な値の1つです)、ウィジェットをリセットして非常に最初のオプションは、どのような値を付けても。
これはバグのようで、私がやりたいことを達成する方法を示すテストやドキュメントはありません。しかし、それが汚いハックであっても、何らかの方法はありますか?
Dojo1.4.0を使用しています。 dijit.form.Selectはdojox.form.DropDownSelectの新しい名前であることに注意してください。
編集:すべての新しいオプションでウィジェットをリセットしようとしましたが、selected = true
を持つオプションを無視し、最初のオプションを選択するだけです。しかし、まだ方法があるに違いありません。
値がintであっても、整数を文字列に設定すると、これは機能します。
dijit.byId( 'my_select' ).attr( 'value', String( 5 ) );
それはバグであることが判明しました-オプション値が文字列でない場合、それは機能しません(私のものは整数でした)。
私のコメントの再投稿:ここにテストページがあります: dojo archive あなたがいじることができます。ファイヤーバグを使用して、そのページでdijit.byId( 's9')。attr( 'value'、 'CO')を正常に使用しました。これにより、そのページに「ストアベース」の選択が設定されます。
しかし、あなたが言ったように、私は文字列を使用して設定し、整数を使用していたので、バグは見られませんでした。良いキャッチ。