每当另一个选择窗口小部件的值发生更改时,我就会使用选项填充dijit选择窗口小部件。
在我的应用中,有一个“公交路线”的下拉菜单和一个“公交车站”的下拉菜单。
用户已分配了应该更新的公交路线和站点。
因此,当页面首次加载时,“路由”下拉框将提供所有可用的路由,并且当前分配给您的路由为选定值。停止菜单加载了与该路线关联的所有停止,但是没有选定的值,因此,默认情况下,它是第一个选项。
每当用户更改当前选择的路线时,停止菜单都会相应更改,并填充与该路线关联的所有停靠点。
我的问题是,使用dojo,如何在停止菜单中设置“已选择”选项?
我希望弄清楚当前已将哪个停靠站分配给该用户,而不是将“选定的”停靠站作为 route 的第一个选项。
谢谢。
最佳答案
selectWidget.set("value", someValue);
如果要通过
options
属性(带有label
,value
等的对象数组)指定选项,则someValue
应该与这些对象之一的value
相匹配。 (请注意,您还可以在传递给selected: true
的数组中的一个对象中直接指定options
。)如果要通过
store
属性提供来自dojo.data存储库的项目,则someValue
应该与该存储库项目之一的标识匹配。(编辑)注意:上面我假设通过“dijit select小部件”,您指的是
dijit.form.Select
。如果您实际上使用的是dijit.form.ComboBox
或dijit.form.FilteringSelect
,则同一行代码仍然适用,适用于最后一段中的商店。在使用select
标记进行声明式实例化的情况下,ComboBox和FilteringSelect仍将创建商店,其项的标识是select标记中选项的值。
关于dojo - 以编程方式设置dijit Select小部件的选定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7869805/