Populating ComboBox dynamically in dojo
我正在尝试在dojo中动态填充ComboBox。我已经在html中声明了它,然后尝试在js中创建Memory存储,然后使用我在js中创建的store值设置ComboBox的store属性。这是我的html和javascript文件。我正在js中调用一个函数,该函数以json响应(item)作为其参数,并且响应值即将到来(ResultData1,ResultData2,ResultData3)我已经通过保留警报框进行了测试。但是,当运行此页面时,我收到TypeError:内存不是构造函数错误。有人可以解释一下我在做什么错。
仅供参考:我已在js文件中添加了所有必需的依赖项列表。
HTML:
1 | <select data-dojo-type="dijit/form/ComboBox" data-dojo-attach-point="importDocumentTo" id="importDocumentTo" name="importDocumentTo"> |
JavaScript:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | _onPopulate : function(item) { alert('_onPopulate:'); var combo = dijit.byId('importDocumentTo'); alert('combo' + combo) var stateStore=new Memory({ data: [ {name:item["ResultData1"], id:"data1"}, {name:item["ResultData2"], id:"data2"}, {name:item["ResultData3"], id:"data3"} ] }); alert('stateStore:' + stateStore); var result=domAttr.set("importDocumentTo","store",stateStore); |
使用DOM API更新小部件上的商店将不起作用。而不是使用
此外,模板中的小部件上不需要静态
您应该可以通过以下更改来解决您的问题: