每当另一个选择小部件的值发生变化时,我都会用选项填充一个dijit选择小部件。
在我的应用程序中,有一个“公交车路线”的下拉菜单和一个“公交站”的下拉菜单。用户分配的公交路线和站点应该是可更新的。
因此,当页面第一次加载时,路由下拉框具有所有可用路由,并且当前分配给您的路由是选定的值。停止菜单加载了与该路线关联的所有停靠点,但没有选择值,因此,默认情况下,它是第一个选项。
每当用户更改当前选择的路线时,停止菜单都会相应地更改,并填充与该路线关联的所有停靠点。
我的问题是,使用dojo,我如何在停止菜单中设置“选定”选项?
我希望明确当前分配给该用户的停靠点,而不是路线中的第一个选项是“选定的”停靠点。
谢谢。
发布于 2011-10-24 01:22:38
selectWidget.set("value", someValue);
如果通过options
属性(带有label
、value
等的对象数组)指定选项,则someValue
应与其中一个对象的value
匹配。(请注意,您还可以在传递给options
的数组中的一个对象中指定selected: true
。)
如果您通过store
属性从dojo.data商店提供商品,那么someValue
应该与商店的商品之一的标识相匹配。
(编辑)注意:上面我假设"dijit select widget“指的是dijit.form.Select
。如果您实际使用的是dijit.form.ComboBox
或dijit.form.FilteringSelect
,则同一行代码仍然适用于最后一段中的商店。在使用select
标记进行声明性实例化的情况下,ComboBox和FilteringSelect仍然创建一个存储,其项的标识是select标记内的选项的值。
发布于 2013-11-12 21:21:15
//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);
https://stackoverflow.com/questions/7869805
复制