`
dayone
  • 浏览: 360951 次
  • 性别: Icon_minigender_1
  • 来自: xian
社区版块
存档分类
最新评论

ExtJs的ComboBox级联实现

阅读更多

1、首先定义store

//**测试下拉框级联**
 var storedm = new Ext.data.Store({   //队名称下拉框
     proxy: new Ext.data.HttpProxy({   
         url: '../servlet/CommonMethod?command=getdm'  
     }),   
     reader: new Ext.data.JsonReader({   
     root: 'dms',   
     id: 'id'
     }, [   
         {name: 'id', mapping: 'id'},   
         {name: 'mc', mapping: 'mc'}   
     ])   
    }); 
    
    var storejh = new Ext.data.Store({  //井号选择下拉框
     proxy: new Ext.data.HttpProxy({   
         url: '../servlet/CommonMethod?command=getjh' //这里是参数可以顺便写,这个数据源是在第一个下拉框select的时候load的
     }),   
     reader: new Ext.data.JsonReader({   
     root: 'jhs',   
     id: 'jh'  
     }, [   
         {name: 'jh', mapping: 'jh'},   
         {name: 'jm', mapping: 'jm'}   
     ])   
    });

 2、然后定义ComboBox

 //单位字段
    var dwField = new Ext.form.ComboBox({
		fieldLabel:'所属队',
		name:'DW',
		//hiddenName:'DW',//hiddenName才是提交到后台的input的name(既select的value值)   
		allowBlank:false,
	    mode: 'local',
	    readOnly:true,
	    triggerAction:'all',
	    anchor:'90%',
	    emptyText:'请选择...',//默认值   
	    store:storedm,
	    listeners:{     
            select : function(combo, record,index)
            {   
            	jhField.clearValue(); //可以实现当队下拉值变更时,清空之前井号下拉选项中的值
            	
            storejh.proxy= new Ext.data.HttpProxy({url: '../servlet/CommonMethod?command=' + combo.value}); //根据队下拉选项的改变,动态取出对应的井
                
            storejh.load(); //加载井下拉框的store   
            }   
        },
        listClass: 'x-combo-list-small', //测试的属性
        lastQuery:'', //测试的属性
		valueField: 'id',
	    displayField: 'mc'
	});
	
	storedm.load(); //载入队下拉框的信息
	
	//井号字段
    var jhField = new Ext.form.ComboBox({   
		   xtype:'combo',   
		   store: storejh,   
		   valueField :"jh",   
		   displayField: "jm",   
		   //数据是在本地   
		   mode: 'local',   
		   //forceSelection: true,//必须选择一项   
		   emptyText:'请选择井号...',//默认值   
		   hiddenName:'JH',//hiddenName才是提交到后台的input的name(既select的value值)   
		   editable: false,//不允许输入   
		   triggerAction: 'all',//因为这个下拉是只能选择的,所以一定要设置属性triggerAction为all,不然当你选择了某个选项后,你的下拉将只会出现匹配选项值文本的选择项,其它选择项是不会再显示了,这样你就不能更改其它选项了。   
		   allowBlank:false,//该选项值不能为空   
		   fieldLabel: '井号',   
		   id : 'jh_id',   
		   name: 'JH',   
		   anchor:'90%'  
    });

 

分享到:
评论
6 楼 wangcl011 2014-09-19  
感谢分享,这是我参照写的在线实例:http://www.itdatum.net/webui/extjs/2014/09/7945.shtml
5 楼 alonewolf 2009-01-12  
dayone 写道

请教不敢当,我也刚学ext没多久,我想是不是前后端编码不一致引起的?我都是用UTF-8;

我后来用转码解决了,用的是UTF-8,只是get方法传参好像用的8859_1,
我转码后,ie下访问正常,ff下还不行,还是乱,就不知道什么原因。。。
ff下乱码显示是中文,但是很稀罕的那些中文,肯定还是编码不对,呵呵
ie下是正常的,奇怪
4 楼 dayone 2009-01-11  
alonewolf 写道

又来请教了, storejh.proxy= new Ext.data.HttpProxy({url: '../servlet/CommonMethod?command=' + combo.value}); //根据队下拉选项的改变,动态取出对应的井  在firebug里 combo.value正常 后台获取command参数的时候显示是?????? 是怎么回事呢?还请指教


请教不敢当,我也刚学ext没多久,我想是不是前后端编码不一致引起的?我都是用UTF-8;
3 楼 alonewolf 2009-01-10  
又来请教了,
storejh.proxy= new Ext.data.HttpProxy({url: '../servlet/CommonMethod?command=' + combo.value}); //根据队下拉选项的改变,动态取出对应的井 
在firebug里 combo.value正常
后台获取command参数的时候显示是??????
是怎么回事呢?还请指教
2 楼 alonewolf 2009-01-10  
因为在学习一个类似的系统,所以想请教。。。
若是不便就算了
1 楼 alonewolf 2009-01-10  
这是哪个钻井公司的项目? 学习了
可否向在下介绍下项目的架构?
想学习下
email: alonewolfT@gmail.com

相关推荐

    EXTJS的COMBOBOX级联实现和数据提交VALUE[文].pdf

    EXTJS的COMBOBOX级联实现和数据提交VALUE[文].pdf

    extJs ComboBox级联

    NULL 博文链接:https://mawj0326-163-com.iteye.com/blog/1628470

    extJs4 ComboBox组合框实例

    extJs4 ComboBox 代码组合框实例,ComboBox 各个主要参数详细解释

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选

    Extjs3.4.0版本 多选下拉框效果支持多选/全选/全不选, 附源码。 修复不能多选问题,代码仅供参考

    Extjs4.0 ComboBox如何实现三级联动

    很多网友在问,Extjs4.0 ComboBox如何实现,好在之前用3.x实现过一个三级联动,如今用Extjs4.0来实现同样的联动效果。其中注意的一点就是,3.x中的model:’local’在Extjs4.0中用queryMode: ‘local’来表示,而且在...

    ExtJS 设置级联菜单的默认值

    ExtJS在修改这样的页面上赋值是很方便的,在正文中1.2.1代码中可以看出,一行代码就可以搞定,但这是对于普通控件而言,如文本框。对于ComboBox可没这么简单...

    Extjs4下拉树菜单ComboBoxTree支持单选和多选并且支持展开选中指定节点的通用控件

    Extjs4下拉树菜单 ComboBoxTree 支持单选和多选并且支持展开选中指定节点的通用控件 在项目中已经成熟运用 值得收藏和运用

    EXTJS记事本 当CompositeField遇上RowEditor

    原因是客户的物料种类非常多,有一千种之多,如果单纯用一个Combobox,那么在实际使用中,很难快速找到一个物料,所以,我使用包含物料分类和物料品牌的两个combobox来组成级联式筛选。问题恰恰出在这儿,如果在...

    EXT教程EXT用大量的实例演示Ext实例

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据...

    EXT2.0中文教程

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

    Ext 开发指南 学习资料

    4.4.7. 露一小手,组合上面所知,省市县三级级联。哈哈~ 4.4.7.1. 先做一个模拟的,所有数据都在本地 4.4.7.2. 再做一个有后台的,需要放在服务器上咯 4.5. 把form里的那些控件全部拿出来看看 4.6. form提交数据的...

Global site tag (gtag.js) - Google Analytics