下拉列表
一.一级下拉列表
1. 一级下拉列表框本地初始化
二级数组自动匹配value和text,初始化value值时会自动选中相应选项
items : [{ xtype : 'combo', fieldLabel : '预警级别', id : 'warningLevel', store :[[1,'1级'],[2,'2级'],[3,'3级']], width:100, value:'', triggerAction: "all", mode: "local", allowBlank:false}]
2.一级下拉列表远程数据获取
var libStore = new Ext.data.Store({ proxy : new Ext.data.HttpProxy({ url : /searchSmisInstitutionList.do' }), reader : new Ext.data.JsonReader({ root : "data" }, [{name : "className"}, {name : "smisInstitutionClassId"}])});var libCombo = new omgComboBox({ store : libStore, emptyText : "请选择", editable : false, id : "smisInstitutionClassId", fieldLabel : "制度库分类", hiddenName : "smisInstitutionClass.smisInstitutionClassId", displayField : "className", valueField : "smisInstitutionClassId", value : "", width : 200, triggerAction : "all", allowBlank:false, mode : "remote"});
注:displayField为显示的字段名称,valueField为提交到后台的字段值,
hiddenName为提交到后台的表单参数名称。
Editable若为true时则下拉列表可输入,一般适用于搜索的场所,后台需进行模糊匹配查询。
二. 二级下拉列表
1. 二级下拉列表本地数据初始化
var citys=[ ['北京',[['北京'],['通县'],['昌平'],['大兴'],['密云'],['延庆']]], ['上海',[['上海县'],['嘉定'],['松江'],['南汇'],['奉贤'],['金山']]], ['天津',[['蓟县'],['宝坻'],['武清'],['静海'],['宁河']]]];// 省份var provinceComBo=new Ext.form.ComboBox({ hiddenName:'province', name: 'province_name', valueField:"province", displayField:"province", mode:'local', fieldLabel: '所在省份', blankText:'请选择省份', emptyText:'请选择省份', editable:false, anchor:'90%', forceSelection:true, triggerAction:'all', store:new Ext.data.SimpleStore( { fields: ["province","city"], data:citys, sortInfo:{field:'province'} } ), listeners:{ select:function(combo, record, index){ cityCombo.clearValue(); cityCombo.store.loadData(record.data.city); } }});// 城市 var cityCombo=new Ext.form.ComboBox({ hiddenName:'city', name:'city_name', valueField:"city", displayField:"city", mode:'local', fieldLabel: '所在城市', blankText:'请选择城市', emptyText:'请选择城市', editable:false, anchor:'90%', forceSelection:true, triggerAction:'all', store:new Ext.data.SimpleStore( {fields: ["city"], data:[], sortInfo:{field:'city'}}),});
2.二级下拉列表远程数据获取
// 一级Ext.form.regieOrgCombo = Ext.extend(Ext.form.ComboBox,{ displayField: 'regieOrgName', valueField: 'regieOrgCode', triggerAction: 'all', mode:'local', emptyText: '请选择', editable:false, selectOnFocus:true, store: new Ext.data.Store({ proxy: new Ext.data.DWRProxy( rmRegieOrgService.getRmRegieOrgByPersonCode), reader: new Ext.data.ListRangeReader({ totalProperty: 'totalCount', root: 'items', id:'regieOrgCode'}, new Ext.data.Record.create([ {name: 'regieOrgCode', mapping: 'regieOrgCode'}, {name: 'regieOrgName',mapping: 'regieOrgName'} ]) ) }) });// 二级Ext.form.regieOrgDeptCombo = Ext.extend(Ext.form.ComboBox,{ displayField: 'regieDeptName', valueField: 'regieDeptCode', triggerAction: 'all', mode:'local', emptyText: '请选择', editable:false, selectOnFocus:true, store: new Ext.data.Store({ proxy: new Ext.data.DWRProxy( rmRegieDeptService.getRmRegieDeptByRegieOrgCode), reader: new Ext.data.ListRangeReader({ totalProperty: 'totalCount', root: 'items', id:'regieDeptCode'}, new Ext.data.Record.create([ {name: 'regieDeptCode', mapping: 'regieDeptCode'}, {name: 'regieDeptName',mapping: 'regieDeptName'} ]) ) }) });// 一级下拉列表应用var regieOrgCombo = new Ext.form.regieOrgCombo({ fieldLabel:'专卖局', width: 100, listWidth:150, id:'regieOrgCombo'}); // 一级下拉列表选择完清除二级下拉列表内容,二级下拉列表重新加载。regieOrgCombo.addListener('select', function(combo, comboRecord, index){ clearCombo('regieOrgDeptCombo','regieDeptCode'); regieOrgDeptCombo.store.reload(); }); //二级下拉列表应用var regieOrgDeptCombo = new Ext.form.regieOrgDeptCombo({ id:'regieOrgDeptCombo', fieldLabel:'专管所', width: 100 }); // 二级下拉列表加载前先获取一级下拉列表选中的内容regieOrgDeptCombo.getStore().on('beforeload',function(){ var regieOrgCode = regieOrgCombo.getValue(); Ext.apply(this.baseParams,{regieOrgCode:regieOrgCode}); });