2012-03-31 90 views
1

我花了5小时,我无法找到这样的:dijit.form.ComboBox附加选项

`$('#To').append('<option value=11>Santa Cruz</option>');` 

“要”是dijit.form.ComboBox

它工作正常,在JQuery中却怎么也我在Dojo做这个?

请一束光。

感谢,

阿尔瓦罗

回答

1

是您的组合框的数据存储驱动? 如果是,您可以将该项目添加到数据存储区,并且dojo将负责通过将该项目添加到UI小部件来更新ui小部件。这使得数据与ui /渲染分离。

所以,你可以这样做:

cityDataStore.newItem({ name: 'Santa Cruz', value: 11 }); 

见相关SO问题:

dijit.form.filteringselect dynamically change options

+0

Thanks.It不是由数据存储驱动,但如果这是唯一的解决办法,我搞乱尝试。 – 2012-03-31 15:45:17

+0

from.store.root [0]正常,但 from.store.root [1]为空。 我如何创建一个新的sore.root [1] ..? – 2012-03-31 16:10:01

+1

您需要使用newItem()API在商店中创建一个项目。请参阅:http://livedocs.dojotoolkit.org/dojo/data/ItemFileWriteStore。另外,使用商店可以更容易操作,但它不是唯一的方法。您会注意到dojo为组合框下拉菜单创建DIV而不是选项元素。从理论上讲,你可以使用JavaScript来添加一个新的DIV'Santa Cruz',但它很容易出错,而不是一个可维护的方式来做到这一点 - 我建议使用数据存储 - 你也可以声明数据存储,如果这使得它更容易使用 – 2012-03-31 16:12:17