2013-06-12 372 views
3

我有一個form與兩個組合框。一個是正​​常的,另一個是dijit.form.Combobox如何將項目添加到dojo中的組合框?

<select id="mySel"></select> 

<select dojotype="dijit.form.ComboBox" id="dsel"/> 

我可以使用下面的腳本添加項目到正常的項目。

var opt = mySel.appendChild(document.createElement('option')); 
opt.text = "My sample text" 

但是,在dijit combo中也不能正常工作。這個怎麼做 ?

回答

4

問題是Dojo將DOM節點(<select>)解析爲完全不同的東西。 Dojo內部使用商店來保存組合框的選項。

要添加選項到組合框,您需要訪問組合框的存儲並向其中添加新項目。您可以在ComboBoxStore API的Dojo API中閱讀有關它的更多信息。

在商店API中,您會注意到一個名爲add()的函數。如果您使用該功能,則可以將新項目添加到商店。該代碼會是這樣的:

registry.byId("dsel").get('store').add({ name: "Test", id: 1 }); 

或一個完整的jsfiddle可以發現here

相關問題