以编程方式设置dijit Select小部件的选定值

use*_*951 8 dojo

每当另一个选择窗口小部件的值发生变化时,我会使用选项填充dijit选择窗口小部件.

在我的应用程序中,有一个"巴士路线"的下拉菜单和一个"巴士站"的下拉菜单.用户已分配了应该可更新的公交路线和车站.

因此,当页面首次加载时,路径下拉框中包含所有可用路径,并且您当前分配的路径是所选值.停止菜单加载了与该路由关联的所有停靠点,但没有选定的值,因此,默认情况下,它是第一个选项.

每当用户更改当前选择的路线时,停止菜单会相应地更改,并填充与该路线相关的所有停靠点.

我的问题是,使用dojo,如何在停止菜单中设置"已选择"选项?

我希望清楚当前为该用户分配了哪个停止,而不是"选定"停止作为路径中的第一个选项.

谢谢.

Ken*_*iro 17

selectWidget.set("value", someValue);
Run Code Online (Sandbox Code Playgroud)

如果经由指定选项options属性(与对象阵列label,value等),然后someValue应匹配value这些对象中的一个的.(注意,您也可以selected: true在传递给的数组中的一个对象中指定options.)

如果您通过该store属性从dojo.data商店提供商品,则someValue应该与商店的其中一个商品的标识相匹配.

(编辑)注意:我在上面假设你指的是"dijit select widget" dijit.form.Select.如果您实际上正在使用dijit.form.ComboBoxdijit.form.FilteringSelect,则相同的代码行仍然适用,适用于最后一段中的商店.在使用select标记进行声明性实例化的情况下,ComboBox和FilteringSelect仍然会创建一个商店,其商品的标识是select标签中选项的值.