`

用ext读取XML写一个“省-市-邮编”三级联动

    博客分类:
  • Ext
阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
		<link type="text/css" rel="stylesheet"
			href="js/ext/resources/css/ext-all.css" />
		<script type="text/javascript" src="js/ext/ext-base.js"></script>
		<script type="text/javascript" src="js/ext/ext-all.js"></script>
		<script type="text/javascript">
			Ext.onReady(function () {
				var provinceArr = [];
				var cityMap = new Ext.util.MixedCollection();
				var zipMap = new Ext.util.MixedCollection();
				var conn = Ext.lib.Ajax.getConnectionObject().conn; 
				conn.open("GET", 'data.xml',false); 
				conn.send(null); 
				var xmlDoc = conn.responseXML;
				var provinces = xmlDoc.getElementsByTagName('province');
				var len1 = provinces.length;
				for(var i = 0; i<len1; i++){
					var province = provinces[i].getAttribute('name');
					provinceArr.push([province,province]);
					var cities = provinces[i].getElementsByTagName('city');
					var len2 = cities.length;
					var cityArr  = [];
					for(var k = 0; k<len2; k++){
						var city = cities[k].getAttribute('name');
						var addr = cities[k].getElementsByTagName('address')[0].childNodes[0].nodeValue;
						cityArr.push([city,city]);
						zipMap.add(city,addr);
					}
					cityMap.add(province,cityArr);
				}
				var pStore = new Ext.data.SimpleStore({fields:['name','value'],data:provinceArr});
				var cStore = new Ext.data.SimpleStore({fields:['name','value']});
				var provinceCombo = new Ext.form.ComboBox({
			    	renderTo:'p',
			    	store:pStore,
			    	mode:'local',
			    	displayField:'name',
			    	valueField:'value',
			    	triggerAction:'all',
			    	listeners:{'select':function(combo){
			    		var val = combo.getValue();
			    		cityCombo.clearValue();
			    		zipTxt.setValue('');
			    		cStore.loadData(cityMap.get(val));
			    	}}
			    });
			   var cityCombo = new Ext.form.ComboBox({
			    	renderTo:'c',
			    	store:cStore,
			    	mode:'local',
			    	displayField:'name',
			    	valueField:'value',
			    	triggerAction:'all',
			    	listeners:{'select':function(combo){
			    		var val = combo.getValue();
			    		zipTxt.setValue(zipMap.get(val));
			    	}}
			    });
			    var zipTxt = new Ext.form.TextField({
			    	renderTo:'a'
			    });
			});
		</script>
	</head>
	<body>
		<table>
			<tr>
				<td id="p"></td>
				<td id="c"></td>
				<td id="a"></td>
			</tr>
		</table>
	</body>
</html>

 

分享到:
评论
1 楼 chenaha 2011-03-14  
不知道大哥是否会用sencha touch,我想写一个这样的效果,但怎么都写不上,在百度提问了,但是差不了图片,所以在这里请教,效果图:

http://hi.baidu.com/夏至未至tl/blog/item/a1b2e9c773a33c0f9d163da4.html?timeStamp=1300070021015

发表评论

文章已被作者锁定,不允许评论。

相关推荐

    xml-apis-ext-1.3.04.jar

    xml-apis-ext-1.3.04.jar

    xml-apis-ext.jar

    xml-apis-ext.jar,hightcharts导出图片是解决乱码需要用到的一个包

    ext 读取xml 可编辑grid

    在EXT JS框架中,"ext 读取xml 可编辑grid"是一个常见的需求,涉及到的主要知识点包括EXT的数据对象、EditorGridPanel的使用以及EXT对XML数据格式的支持。下面将详细阐述这些内容。 EXT JS是一个强大的JavaScript库...

    ext-2.0 ext-2.0 ext-2.0 ext-2.0 ext-2.0

    ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0ext-2.0

    ext-ms-win-gdi-desktop-l1-1-0.dll

    ext-ms-win-gdi-desktop-l1-1-0.dll 用于解决这个dll文件丢失问题,下载后将此文件放置在相关文件根目录下,即可解决丢失问题

    Ext slider扩展以级范例代码----下载不扣分,回帖加1分,欢迎下载,童叟无欺

    Ext slider扩展以级范例代码----下载不扣分,回帖加1分,欢迎下载,童叟无欺Ext slider扩展以级范例代码----下载不扣分,回帖加1分,欢迎下载,童叟无欺Ext slider扩展以级范例代码----下载不扣分,回帖加1分,欢迎...

    spketdwcs-ext-2.1.mxp

    spketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-ext-2.1.mxpspketdwcs-...

    chinese_wwm_ext_L-12_H-768_A-12.zip

    标题 "chinese_wwm_ext_L-12_H-768_A-12.zip" 暗示了这是一个预训练的中文BERT模型,其中包含了用于自然语言处理任务的权重和配置文件。这个模型是在BERT(Bidirectional Encoder Representations from Transformers...

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

    要实现这个功能,我们需要创建三个ComboBox,分别对应省份、城市和区/县。每个ComboBox都需要配置`store`来存储数据,`displayField`用于显示值,`valueField`用于保存选中的值。通过监听`select`事件,我们可以触发...

    ext 2 简单例子(内附ext-all.css, ext-base.js, ext-all.js三个必不可少的文件)

    ext 是 ExtJs 的简称,是一个强大的js 类库。本资源主要包括三个大的文件ext-all.css,ext-base.js,ext-al.js。在引用ext 类库的时候,这三个文件必不可少。另外我还提供了ext2的一个简单例子,以便大家学习交流。

    windows下读取linux ext3格式U盘工具--Ext2Fsd

    Ext2Fsd是在windows下读写ext2 和ext3格式的小工具,当经过linux系统格式化为ext3格式的U盘插入到windows系统下时,windows系统会提示不识别磁盘格式,建议格式化磁盘。安装了Ext2Fsd工具后,你就可以像读写FAT格式...

    bcprov-ext-jdk15on-1.54.jar,bcprov-jdk15on-1.54.jar

    在Java开发过程中,有时会遇到一个异常:“java.lang.RuntimeException: Could not generate DH keypair”。这个异常通常是由于Java加密库的问题导致的,特别是在进行安全通信,如使用SSL/TLS协议时,系统尝试生成...

    xml-apis xml-apis

    xml-apis现在,为了方便大家学校Java,我现在上传一系列Java包,这些都是大家经常用到的,放心下载。这一系列材料,大家可以上我的资源库下载。

    Ext入门-详细教程

    Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-详细教程Ext入门-...

    Ext-JS-4.1-Beta-3.zip

    Ext JS 是一个强大的JavaScript库,专门用于构建富客户端应用程序。版本4.1是该库的一个重要迭代,引入了新功能和改进,以提升用户体验和开发效率。"Ext-JS-4.1-Beta-3.zip"是这个版本的beta 3版本的压缩包,包含了...

    Ext.data.Store 读取XML属性值

    在JavaScript的世界里,Ext.js是一个强大的富客户端框架,它提供了丰富的UI组件和数据管理功能。在处理数据时,`Ext.data.Store`是一个至关重要的组件,它用于存储和管理数据,可以与各种数据源进行交互。当我们需要...

    Ext2Fsd-读取ext4格式的文件系统

    在Windows 10系统上读取ext4格式的文件系统可能需要一些额外的软件支持,因为Windows本身不原生支持ext4格式。以下是一种可行的方法:

    Ext解析XML实例

    - **ExtJS**:一个用JavaScript编写的前端框架,用于构建交互式的Web应用程序。 - **XML**(可扩展标记语言):一种用于存储和传输数据的标准格式,它以人类可读的形式定义了数据结构。 - **树形结构**:在计算机...

    Ext二级联动完整例子

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

    EXT 实现省份--城市--地区--级连

    在“EXT 实现省份--城市--地区--级连”这个主题中,我们将探讨EXT如何用来实现多级联动选择的功能,如省份、城市、地区之间的级联选择。 在Web应用中,用户可能需要选择一个地理位置,通常是从国家到省份,再到城市...

Global site tag (gtag.js) - Google Analytics