Программно установить выбранное значение дижита Выбрать виджет

Я заполняю виджет выбора dijit параметрами, когда значение другого виджета изменяется.

В моем приложении есть раскрывающееся меню "Автобусный маршрут" и раскрывающееся меню "Автобусная остановка". Пользователи назначили автобусные маршруты и остановки, которые должны быть обновлены.

Таким образом, при первой загрузке страницы в раскрывающемся списке "Маршрут" отображаются все доступные маршруты, а выбранный вами маршрут является текущим. Меню остановок загружается всеми остановками, связанными с этим маршрутом, но выбранное значение отсутствует, поэтому, по умолчанию, это первый вариант.

Всякий раз, когда пользователь изменяет текущий выбранный маршрут, меню остановок изменяется соответственно и заполняется всеми остановками, связанными с этим маршрутом.

Мой вопрос, с dojo, как я могу установить опцию "Выбрано" в меню "Стоп"?

Я хочу, чтобы было ясно, какая остановка в данный момент назначена этому пользователю, вместо того, чтобы "выбранная" остановка была первой опцией в маршруте.

Благодарю.

2 ответа

selectWidget.set("value", someValue);

Если вы указываете опции через options свойство (массив объектов с label, valueи т. д.), то someValue должен соответствовать value одного из этих объектов. (Обратите внимание, что вы также можете указать selected: true прямо в одном из объектов в массиве, переданном options.)

Если вы предоставляете товары из магазина dojo.data через store собственность, тогда someValue должен соответствовать личности одного из предметов магазина.

(правка) ПРИМЕЧАНИЕ. Выше я предполагал, что под "dijit select widget" вы ссылаетесь на dijit.form.Select, Если вы на самом деле используете dijit.form.ComboBox или же dijit.form.FilteringSelectта же строка кода остается в силе, что применимо к магазинам в последнем абзаце. В случае декларативной реализации с select tag, ComboBox и FilteringSelect по-прежнему создают хранилище, идентичности элементов которого являются значениями опций внутри тега select.

//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);
Другие вопросы по тегам