每当其他选择窗口小部件的值发生变化时,我就会使用选项填充dijit选择窗口小部件。
在我的应用程序中,有一个“巴士路线”的下拉菜单和一个“巴士站”的下拉菜单。 用户已分配了可更新的公交路线和车站。
因此,当页面首次加载时,路径下拉框中包含所有可用路径,并且您当前分配的路径是所选值。停止菜单加载了与该路线关联的所有停靠点,但没有选定的值,因此,默认情况下,它是第一个选项。
每当用户更改当前选定的路线时,停止菜单会相应更改,并填充与该路线相关的所有停靠点。
我的问题是,使用dojo,如何在停止菜单中设置“已选择”选项?
我希望清楚当前为该用户分配了哪个停止,而不是“选定”停止作为路径中的第一个选项。
感谢。
答案 0 :(得分:17)
selectWidget.set("value", someValue);
如果您通过options
属性(label
,value
等对象数组)指定选项,则someValue
应与{{1}匹配其中一个对象。 (请注意,您也可以在传递给value
的数组中的一个对象中指定selected: true
。)
如果您通过options
属性从dojo.data商店提供商品,则store
应该与商店商品的标识相匹配。
(编辑)注意:我在上面假设“dijit select widget”指的是someValue
。如果您实际使用dijit.form.Select
或dijit.form.ComboBox
,则相同的代码行仍然适用,适用于最后一段中的商店。对于带有dijit.form.FilteringSelect
标记的声明性实例化,ComboBox和FilteringSelect仍然创建一个商店,其商品的标识是select标签中选项的值。
答案 1 :(得分:3)
//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);