3

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. 这个怎么做 ?

4

1 回答 1

4

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

要向组合框添加选项,您需要访问组合框的存储并向其中添加新项目。您可以在ComboBox的 Dojo API或Store API中阅读有关它的更多信息。

在 store API 中,您会注意到一个名为add(). 如果您使用该功能,您可以向商店添加新商品。代码将类似于:

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

或者可以在这里找到完整的 JSFiddle

于 2013-06-12T11:39:29.393 回答