2012-03-31 7 views
1

i verbringen 5 Stunden, und ich kann nicht finden:dijit.form.ComboBox anhängen Optionen

`$('#To').append('<option value=11>Santa Cruz</option>');` 

"To" ist ein dijit.form.ComboBox

Es funktioniert in JQuery in Ordnung, aber wie kann Ich mache das in Dojo ???

Bitte einen Lichtstrahl.

Danke,

Álvaro

Antwort

1

Ist Ihr Combobox von einem Datenspeicher angetrieben? Wenn ja, können Sie das Element einfach zum Datenspeicher hinzufügen, und Dojo kümmert sich um die Aktualisierung des ui-Widgets, indem es das Element zum UI-Widget hinzufügt. Dies hält die Daten vom ui/rendering getrennt.

So könnten Sie tun:

cityDataStore.newItem({ name: 'Santa Cruz', value: 11 }); 

Zusammenhang Siehe SO Frage:

dijit.form.filteringselect dynamically change options

+0

Thanks.It nicht von einem Datenspeicher angetrieben wird, aber wenn dies die einzige Lösung ist, ich Durcheinander versuchen . –

+0

from.store.root [0] funktioniert gut, aber from.store.root [1] ist null. Wie kann ich eine neue wunde.root erstellen [1] .. n ?? –

+1

Sie müssen die API newItem() verwenden, um ein Element im Geschäft zu erstellen. Siehe: http://livedocs.dojotoolkit.org/dojo/data/ItemFileWriteStore. Auch die Verwendung eines Geschäfts erleichtert die Manipulation, ist aber nicht die einzige Möglichkeit. Sie werden feststellen, dass Dojo DIVs erstellt, keine Optionselemente für das Combobox-Dropdown-Menü. Theoretisch können Sie Javascript verwenden, um ein neues DIV mit "Santa Cruz" hinzuzufügen, aber es ist fehleranfällig und nicht wartungsfreundlich - ich empfehle die Verwendung von Datenspeicher - Sie können Datenspeicher auch deklarativ deklarieren, wenn dies Ihren Anwendungsfall erleichtert –