`
wwwzhouhui
  • 浏览: 361118 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

extjs的ComboBox 2级联动

EXT 
阅读更多

学习了 EXTJS ,项目中也有2级联动的需要,现将代码写下来作为笔记

1 这里 EXTJS 环境 后台都不做介绍了。有兴趣的朋友可以下载源码来研究一下。下面只贴一写EXTJS 方面的代码。项目借用了STRUTS2一些东西,这里也不在做介绍。

2前台代码

 

function form(){
	
	var manufacturerid_store = new Ext.data.Store( {
		autoLoad : true,
		reader : new Ext.data.JsonReader( {
			totalRecords : "results",
			root : 'List'
		}, Ext.data.Record.create([ {
			name : 'id'
		}, {
			name : 'name'
		}])),
		proxy : new Ext.data.HttpProxy( {
			url : 'getlist.action'
		})
	});
	var deviceModel_store = new Ext.data.Store( {
		autoLoad : false,
		reader : new Ext.data.JsonReader( {
			totalProperty : "results",
			root : 'List'
		}, Ext.data.Record.create([ {
			name : 'id'
		}, {
			name : 'name'
		}])),
		proxy : new Ext.data.HttpProxy( {
			url : 'getlist2.action'
		})
	});
	var deviceModel_store;
	var form = new Ext.FormPanel( {
			id : 'tabpanel_seconde',
			//renderTo : 'grid-mdmsSoftwarePackUp_1',
			renderTo : 'form',
			title : '第二步',
			frame : true,
			labelAlign : 'right',
			buttonAlign : 'right',
			defaults : {
				width : 150
			},
			items : [new Ext.form.ComboBox( {
				width : 200,
				id:'secondeForm_manufacturerid',
				//blankText : '必须选择厂商标识',
				hiddenName : 'id',
				name : 'name',
				triggerAction : 'all',
				allowBlank : false,
				editable : false,// 禁止编辑
					//loadingText : '正在加载厂商标识',// 加载数据时显示的提示信息
					displayField : 'name',// 定义要显示的字段
					valueField : 'id',
					mode : 'remote',// 远程模式
					//emptyText : '请选择厂商标识',
					store : manufacturerid_store,
					fieldLabel : '省',
					listeners : {
						"select" : function() {
							var secondeForm_deviceModel=Ext.getCmp("secondeForm_deviceModel");
							secondeForm_deviceModel.reset();
							deviceModel_store.proxy = new Ext.data.HttpProxy( {
								url : 'getlist2.action?id='
										+ this.getValue()
							});
							deviceModel_store.load();
						}
					}
				}),
				new Ext.form.ComboBox( {
					id:'secondeForm_deviceModel',
					width : 200,
				    //blankText : '必须选择终端型号',
					hiddenName : 'id',
					name : 'name',
					allowBlank : false,
					triggerAction : 'all',
					editable : false,// 禁止编辑
					//loadingText : '正在加载终端型号',// 加载数据时显示的提示信息
					displayField : 'name',// 定义要显示的字段
					valueField : 'id',
					mode : 'remote',// 远程模式
					//emptyText : '请选择设备型号',
					store : deviceModel_store,
					fieldLabel : '市'
				})
				]
		});
}

    这里定义一个函数 其中前面2个是定义store是为了后台取得数据使用 定义一个form,里面有2个ComboBox.因为要实现2级联动,第一个ComboBox下拉后肯定要触发事件取得后台重新数据 所以实现原理也就是在该ComboBox 添加事件 见代码

listeners : {
						"select" : function() {
							var secondeForm_deviceModel=Ext.getCmp("secondeForm_deviceModel");
							secondeForm_deviceModel.reset();
							deviceModel_store.proxy = new Ext.data.HttpProxy( {
								url : 'getlist2.action?id='
										+ this.getValue()
							});
							deviceModel_store.load();
						}
					}

   该段代码调用后台取得数据重新刷新第个ComboBox的store值 从而实现了2级联动

   实现效果

  

 下来第一个ComboBox

 

 后面的市根据第一个ComboBox触发调用后台,切换省


源码附件中下载取得,可以自己运行没有数据库,后台数据时写死了(这里只是演示前台的技术,没搞那么复杂了)

  • 大小: 3.3 KB
  • 大小: 6 KB
  • 大小: 6.5 KB
分享到:
评论
3 楼 wangcl011 2014-09-16  
多谢楼主,参考后个人实现实例代码:http://www.itdatum.net/webui/extjs/2014/09/7945.shtml
2 楼 ideaf 2014-04-17  
  • secondeForm
引用
引用
引用
引用
引用
引用
1 楼 fuyu_oo 2012-10-11  
可以运行  多谢

相关推荐

    ExtJS Combobox二级联动列子

    2. 二级联动:指两个或多个Combobox之间存在依赖关系,当一个Combobox的值改变时,另一个Combobox的选项也会相应更新。 二、实现原理 1. 数据模型:通常使用Store来存储数据,Store中每个记录包含多个字段,对应...

    Extjs4---combobox省市区三级联动+struts2

    在这个特定的项目“Extjs4---combobox省市区三级联动+struts2”中,我们将探讨如何利用ExtJS 4的ComboBox组件实现省市区的三级联动效果,并结合Struts2框架进行数据交互。 首先,`ComboBox`是ExtJS中的一个组件,它...

    Extjs学习笔记(-):ComboBox联动

    在EXTJS这个强大的...通过以上知识点的讲解,相信你对EXTJS中的ComboBox联动有了更深入的理解。在实际开发中,你可以结合源码分析和使用合适的工具,灵活应用这些知识来创建出更加智能化和用户友好的前端界面。

    extjs ComboBox联动

    Extjs4---combobox联动实例

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

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

    extJs ComboBox级联

    ExtJS ComboBox级联是一种在Web应用中常见的交互方式,它允许用户从下拉列表中选择一个值,并且这个选择会影响到另一个ComboBox的选择项,通常用于表示层级关系的数据,比如省份-城市-区县。这种功能在数据筛选、...

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

    EXTJS的ComboBox级联实现是Web应用程序中常见的一种交互方式,尤其在数据表单中用于联动选择。在本文中,我们将深入探讨EXTJS如何实现ComboBox的级联效果,并理解其数据提交VALUE的工作原理。 首先,我们需要创建两...

    漂亮的Extjs+struts2实现联动下拉

    通过Struts2 Action获取和处理数据,使用ExtJS的ComboBox组件展示和交互,实现动态联动效果,并通过定制样式提升用户体验。这个项目对于理解如何在实际开发中整合这两种技术具有很好的参考价值。

    Ext二级联动完整例子

    在ExtJS中,"二级联动"通常指的是两个或多个下拉框(ComboBox)之间的联动效果,即在一个下拉框选择一个选项后,另一个下拉框会根据前者的选值动态更新其选项。这在数据筛选、地区选择、分类细化等场景中非常常见。 ...

    ssh2+extCombobox联动动态下拉框

    当我们将SSH2与ExtJS ComboBox结合使用时,可以创建动态联动的下拉框,实现数据的级联选择,提高用户交互体验。 在SSH2框架中,Struts2负责处理用户的请求和视图展示,Spring则管理应用的业务逻辑和依赖注入,...

    Extjs3+MySQL后台数据库实现省份城市二级联动

    本文将深入探讨如何使用ExtJS 3结合MySQL来实现一个省份城市二级联动的前端与后台系统。 首先,ExtJS 3提供了丰富的组件和API,使得开发者可以轻松创建各种复杂的用户界面,如下拉菜单、表格、表单等。在这个案例中...

    ExtJS4中文教程2 开发笔记 chm

    ExtJS4学习笔记(十六)---Combobox三级联动 ExtJS4学习笔记(十四)--- ComponentQuery ExtJS4学习笔记(四)---Grid的使用 Extjs4开发笔记(三)——菜单的实现 Extjs4开发笔记(二)——框架的搭建 Extjs4开发笔记(五)——...

    Ext combo 下拉框级联

    在Ext JS中,可以通过`store.load()`或`store.filter()`方法来加载或过滤子级ComboBox的数据。 例如,假设我们有三个级联的ComboBox:国家、省份和城市。首先,初始化国家的ComboBox,加载所有国家的数据。当用户...

    EXT中COMBOX联动

    "EXT中COMBOBOX联动"指的是在EXTJS应用中,两个或多个COMBOBOX之间实现数据交互和联动效果,即当一个COMBOBOX的选择项改变时,会触发其他COMBOBOX的更新,以展示与当前选择相关联的数据。 EXTJS的COMBOBOX联动通常...

    Extjs6 下拉列表

    在ExtJS6中,下拉列表(ComboBox)是一种常见的组件,用于提供用户可以选择的预定义选项。这个框架提供了丰富的功能和定制性,使得下拉列表不仅能够简单地显示一组静态选项,还能与数据源进行联动,展示动态加载的...

    extjs网页控件开发

    在ExtJS中,这通常通过组合框(ComboBox)组件和数据存储(Store)配合实现。每个级别的下拉框都有自己的Store,当上一级选择改变时,可以通过监听事件并更新Store来刷新下拉列表内容。 开发这样的控件需要掌握以下...

    省市县三级连动三种实现方式(javascript+jsp+servlet)、(jquery+jsp+servlet)、(extjs4.0+jsp+servle)

    在实现三级联动时,可以使用ExtJS的ComboBox组件,通过store与远程数据源(servlet)连接,实现数据的动态加载。ExtJS的模型层(Model)、存储层(Store)和视图层(View)设计使数据管理更为规范,同时其丰富的组件...

Global site tag (gtag.js) - Google Analytics