2012-03-31 103 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