如何在道场添加项目到组合框?

时间:2013-06-12 08:36:22

标签: javascript combobox dojo

我有一个form,有两个组合框。一个是正​​常的,另一个是dijit.form.Combobox

<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。怎么做?

1 个答案:

答案 0 :(得分:4)

问题是Dojo将DOM节点(<select>)解析为完全不同的东西。 Dojo在内部使用商店来保存组合框的选项。

要向组合框添加选项,您需要访问组合框的商店并向其添加新项目。您可以在ComboBoxStore API的Dojo API上详细了解它。

在商店API中,您会注意到一个名为add()的函数。如果使用该功能,则可以向商店添加新项目。代码类似于:

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

或者可以找到完整的JSFiddle here