关于dijit.form.ComboBox 赋值,更新值
——网络上提供的方法:
用Comobox的setValue方法吧,setValue只是显示当前下拉框的值吧 这个值只是一个字符串 而不是一个数组吧
针对我自己的问题,给出的解决方案:
--定义一个数组datas,值的设置就是一般js数组的赋值,
var datas = []; for (var i = 0; i < result.ds.length; i++) { if (result.ds[i].dt == "") {//result.ds[i].F_sBrand中的F_sBrand为数据字段名 continue; } else { var o ={}; o.name = result.ds[i].dt; o.id = result.ds[i].dt; datas.push(o); } } var stateStore = new dojo.store.Memory({ data: datas }); //dojo.byId("lsw").store=stateStore; dijit.byId("lsw").store=stateStore;
——说明:
1、为了给dojo控件dijit.form.ComboBox赋值,去dojo官方网站查API,都快吐血了,一致觉得要想之前做的dojo的统计图表chart,那里的更新数据是chart1.render();
2、这里直接赋值,不过,用的不是document.getElementById('lswarn')、dojo.byId("lsw"),而是dijit.byId("lsw"),是在火狐中,调代码,看看对比dijit.byId("lsw") .store.data和dijit.byId("lsw").store.data,才知道的。
3、也参考了dijit.form.ComboBox的定义: http://dojotoolkit.org/reference-guide/1.9/dijit/form/ComboBox.html#dijit-form-combobox
4、旧版的dojo用的是new dijit.form.ComboBox,新版的dojo用的是new ComboBox