Ich bearbeite ein Dijit-Auswahl-Widget mit Optionen, wenn sich der Wert eines anderen Auswahl-Widgets ändert.
In meiner App gibt es ein Dropdown-Menü für "Bus Route" und ein Dropdown-Menü für "Bus Stop". Benutzer haben Buslinien und Haltestellen zugewiesen, die aktualisiert werden sollten.
Wenn also die Seite zum ersten Mal geladen wird, sind in der Dropdown-Box für Routen alle Routen verfügbar und die Route, der Sie momentan zugewiesen sind, ist der ausgewählte Wert. Das Stoppmenü ist mit allen Stopps geladen, die mit dieser Route verbunden sind, aber es gibt keinen ausgewählten Wert. Daher ist dies standardmäßig die erste Option.
Wenn der Benutzer die aktuell ausgewählte Route ändert, ändert sich das Stoppmenü entsprechend und wird mit allen Stopps gefüllt, die mit dieser Route verbunden sind.
Meine Frage ist, mit Dojo, wie kann ich die Option "Ausgewählt" im Stoppmenü einstellen?
Ich möchte klarstellen, welcher Stop diesem Benutzer gerade zugewiesen ist, anstatt dass der "ausgewählte" Stop die erste Option in der Route ist.
Danke.
Wenn Sie Optionen über die Eigenschaft options
angeben (Array von Objekten mit label
, value
usw.), dann sollte someValue
mit value
eines dieser Objekte übereinstimmen. (Beachten Sie, dass Sie selected: true
auch direkt in einem der Objekte im Array angeben können, das an options
übergeben wurde.)
Wenn Sie Elemente aus einem dojo.data-Speicher über die store
-Eigenschaft bereitstellen, sollte someValue
mit der Identität eines der Elemente des Geschäfts übereinstimmen.
(edit) HINWEIS: Ich habe oben davon ausgegangen, dass Sie sich mit "dijit select widget" auf dijit.form.Select
beziehen. Wenn Sie tatsächlich " dijit.form.ComboBox
" oder " dijit.form.FilteringSelect
" verwenden, gilt die gleiche Codezeile wie für die Speicher im letzten Absatz. Im Fall der deklarativen Instanziierung mit einem select
-Tag erstellen ComboBox und FilteringSelect immer noch einen Speicher, dessen Elemente die Werte der Optionen innerhalb des select -Tags sind.
Tags und Links dojo