且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

以编程方式设置一个dijit选择小部件的选定值

更新时间:2023-10-13 09:54:10

  selectWidget.set(value,someValue); 

如果您通过选项指定选项属性(具有标签等的对象数组),然后 someValue 应该匹配其中一个对象的。 (请注意,您还可以在传递给选项的数组中的一个对象内指定选择的:true



如果您是通过 store 属性从dojo.data商店提供商品,那么 someValue 应该符合其中一个商店的商品的身份。



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

I'm populating a dijit select widget with options whenever another select widget's value changes.

In my app, theres a dropdown menu for "Bus Route" and a dropdown menu for "Bus Stop". Users have assigned bus routes and stops that should be updateable.

So when the page first loads, the route dropdown box has all routes available, and the route you are currently assigned to is the selected value. The stop menu is loaded with all stops associated with that route, but there is no selected value, so, as by default, it's the first option.

Whenever the user changes the currently selected route, the stop menu changes accordingly and is populated with all stops associated with that route.

My question is, with dojo, how can I set the "Selected" option in the stop menu?

I want it to be clear which stop is currently assigned to that user, instead of the "selected" stop being the first option in the route.

Thanks.

selectWidget.set("value", someValue);

If you are specifying options via the options property (array of objects with label, value, etc.), then someValue should match the value of one of those objects. (Note that you can also specify selected: true right within one of the objects in the array passed to options.)

If you are providing items from a dojo.data store via the store property, then someValue should match the identity of one of the store's items.

(edit) NOTE: I assumed above that by "dijit select widget" you are referring to dijit.form.Select. If you are actually using dijit.form.ComboBox or dijit.form.FilteringSelect, the same line of code still holds true, as applicable to stores in the last paragraph. In the case of declarative instantiation with a select tag, ComboBox and FilteringSelect still create a store, whose items' identities are the values of the options within the select tag.