Dojo 以编程方式设置dijit选择小部件的选定值
每当另一个select小部件的值发生变化时,我就用选项填充一个dijit select小部件 在我的应用程序中,有一个“公交路线”的下拉菜单和一个“公交车站”的下拉菜单。 用户已分配了应可更新的公交路线和站点 因此,当页面首次加载时,“路由”下拉框中有所有可用的路由,并且当前分配给您的路由是选定的值。“停止”菜单加载了与该路线关联的所有停止,但没有选定值,因此,默认情况下,它是第一个选项 每当用户更改当前选定的路线时,“停止”菜单将相应更改,并填充与该路线相关的所有站点 我的问题是,对于dojo,如何设置停止菜单中的“已选”选项 我想弄清楚当前分配给该用户的站点,而不是路线中的第一个选项是“选定”站点 谢谢Dojo 以编程方式设置dijit选择小部件的选定值,dojo,Dojo,每当另一个select小部件的值发生变化时,我就用选项填充一个dijit select小部件 在我的应用程序中,有一个“公交路线”的下拉菜单和一个“公交车站”的下拉菜单。 用户已分配了应可更新的公交路线和站点 因此,当页面首次加载时,“路由”下拉框中有所有可用的路由,并且当前分配给您的路由是选定的值。“停止”菜单加载了与该路线关联的所有停止,但没有选定值,因此,默认情况下,它是第一个选项 每当用户更改当前选定的路线时,“停止”菜单将相应更改,并填充与该路线相关的所有站点 我的问题是,对于dojo
selectWidget.set("value", someValue);
如果通过options
属性指定选项(带有标签的对象数组
,值
等),则someValue
应与其中一个对象的值
匹配。(请注意,您还可以在传递给选项的数组中的一个对象的右侧指定所选:true
)
如果您是通过store
属性从dojo.data存储区提供项目,则someValue
应与存储区项目之一的标识相匹配
(编辑)注意:我假设上面提到的“dijit选择小部件”指的是dijit.form.select
。如果您实际使用的是dijit.form.ComboBox
或dijit.form.FilteringSelect
,则同一行代码仍然适用于上一段中的存储。在使用select
标记进行声明性实例化的情况下,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);