Combobox 将筛选条件添加到Dojo组合框
我有一个dijit/form/ComboBox控件,它有一个JsonStore作为对象存储Combobox 将筛选条件添加到Dojo组合框,combobox,dojo,Combobox,Dojo,我有一个dijit/form/ComboBox控件,它有一个JsonStore作为对象存储 // Prepare the datasource for combobox settings.JsonStore = new JsonRestStore({ target: settings.dataUrl }); settings.ObjectStore = new ObjectStore({ objectStore: settings.JsonStore }); var ComboBox = ne
// Prepare the datasource for combobox
settings.JsonStore = new JsonRestStore({ target: settings.dataUrl });
settings.ObjectStore = new ObjectStore({ objectStore: settings.JsonStore });
var ComboBox = new ComboBox({
id: settings.id,
name: settings.id,
value: settings.value,
style: {
width: settings.width.value + 'px',
display: (settings.visible) ? 'visible' : 'none'
},
maxHeight: settings.dropHeight.value,
store: settings.ObjectStore,
searchAttr: settings.comboValue,
labelType: "html",
labelFunc: function (item, store) {
var labelText = '....';
return labelText;
},
onChange: function (evt) {
}
}
当我尝试查询组合框时,会发出以下http请求:
http://<settings.dataUrl>/?<settings.comboValue>?A*
http://<settings.dataUrl>/?<settings.comboValue>?AB*
http://?A*
http://?AB*
我想知道是否可以根据另一个控件的值在组合框上添加一个过滤器。例如:
http://<settings.dataUrl>/?CustomerNo=0001&<settings.comboValue>?AB*
http://?CustomerNo=0001&?AB*
我已经尝试了下面的方法,我尝试在通过更改url更改过滤器时更改组合框的存储。但它不起作用。我试图通过再次设置存储值来重置存储,结果导致错误。我终于能够通过另一个问题得到答案
Combobox.set('query',{'CustomerNo':dijit.byId('''.getValue()});
查询变成:
http://<settings.dataUrl>/?CustomerNo=0001&<settings.comboValue>?AB*
http://?CustomerNo=0001&?AB*
感谢您的自动回复。
http://<settings.dataUrl>/?CustomerNo=0001&<settings.comboValue>?AB*