JS代码: //顶级大类 var ds_big_toolcate = new Ext.data.Store({ url : 'toolcate!selectbycode.ph', reader : new Ext.data.JsonReader({ root : 'list' }, [{ name : 'cateCode', type : 'string' }, { name : 'cateName', type : 'string' }]) }); ds_big_toolcate.load(); //二级分类 var ds_small_toolcate= new Ext.data.Store({ url : 'toolcate!selectbycode.ph', reader : new Ext.data.JsonReader({ root : 'list' }, [{ name : 'cateCode', type : 'string' }, { name : 'cateName', type : 'string' }]) }); { xtype : 'combo', fieldLabel : '顶级父类', hiddenName : 'bigCate', valueField : 'cateCode', displayField : 'cateName', store : ds_big_toolcate, triggerAction : 'all', emptyText : '父类名称', listeners : { 'select' : function(combo, record, index) { this.ownerCt.findById('smallCate').reset(); // 可以通过findById来获得同一个表单中的ComboBox ds_small_toolcate.baseParams.code = this.ownerCt.form.findField('bigCate').getValue(); ds_small_toolcate.reload(); this.ownerCt.form.findField('toolcate.fatherCode').setValue(record.data.cateCode); } } },{ xtype : 'combo', fieldLabel : '二级父类', id : 'smallCate', valueField : 'cateCode', displayField : 'cateName', store : ds_small_toolcate, triggerAction : 'all', emptyText : '父类名称', listeners : { 'select' : function(combo, record, index) { this.ownerCt.form.findField('toolcate.fatherCode').setValue(record.data.cateCode); } } }, { xtype : 'hidden', name : 'toolcate.fatherCode' } 这里只贴出来基本代码 需要注意的是如果在combo里面 id的名字和name的名字是一样的 下拉框的值就无法被选中 JAVA代码: public String selectbycode(){ String code=request.getParameter("code"); if("".equals(code)||code==null){ code="0"; } list=teacateBus.selectbyfathercode(code); return SUCCESS; }