ext combox级联例子
var ds_num = new Ext.data.Store({ url : 'findAllFeedNum.action', reader : new Ext.data.JsonReader( {totalProperty : 'totalProperty',root : 'root'}, [ {name : 'material_name', type : 'string'}, {name : 'material_desc', type : 'string'} ]) }); var ds_feed = new Ext.data.Store({ url : 'findByFeedNum.action', reader : new Ext.data.JsonReader( {totalProperty : 'totalProperty',root : 'root'}, [ {name : 'material_name', type : 'string'}, {name : 'material_desc', type : 'string'}, {name : 'material_type', type : 'string'}, {name : 'department', type : 'string'} ]) }); { xtype : 'fieldset', title : '物料添加', collapsible: true, width :375, items : [ { width : 219, xtype : 'combo', fieldLabel : '料号', id : 'stock_feedNum', name : 'stock.feedNum', hiddenName : 'stock.feedNum', valueField : 'material_name', minChars : 1, typeAhead: true, forceSelection: true, displayField : 'material_name', mode : 'remote', queryParam : 'query', store : ds_num, selectOnFocus : true, editable : true, allowBlank : false, triggerAction : 'all', loadingText : '加载中...', emptyText : '料号', listeners : { // 获得下拉文本内容,解决id,value都要的情况 'select' : function(combo, record, index) { Ext.getCmp('stock_depict').reset(); Ext.getCmp('add_unit').reset(); ds_feed.baseParams.feedNum = Ext.getCmp('stock_feedNum').getValue(); ds_feed.reload(); getMatDescByMat(Ext.getCmp('stock_depict'),record.data.material_name); this.ownerCt.ownerCt.form.findField('stock.feedNum').setValue(record.data.material_name); } } },{ width : 219, xtype : 'combo', fieldLabel : '描述', id : 'stock_depict', name : 'stock.depict', hiddenName : 'stock.depict', valueField : 'material_desc', typeAhead: true, forceSelection: true, displayField : 'material_desc', mode : 'remote', store : ds_feed, editable : true, allowBlank : false, triggerAction : 'all', loadingText : '加载中...', emptyText : '描述', listeners : { // 获得下拉文本内容,解决id,value都要的情况 'select' : function(combo, record, index) { this.ownerCt.ownerCt.form.findField('stock.depict').setValue(record.data.material_desc); }, 'beforequery' : function(queryEvent) { if (!Ext.getCmp('stock_feedNum').getValue()) { queryEvent.cancel = true; } } } }
?