使用javascript中读取Xml文件做成的一个二级联动菜单
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>menu2level.html</title>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- <script type="text/javascript">
- function loadXML(){
- var xmlDoc;
- try{
- //IE
- xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
- }catch(e){
- try{
- xmlDoc = document.implementation.createDocument("","",null);
- }catch(e){
- alert(e.message);
- return;
- }
- }
- xmlDoc.async=false;
- xmlDoc.load("cities.xml");
- return xmlDoc;
- }
- //网页加载完在加载 完成省份加载
- onload=function(){
- var xmlDocument = loadXML();
- var provinceArr =xmlDocument.getElementsByTagName("province");
- var proSize = provinceArr.length;
- for(var i=0;i<proSize;i++){
- //创建option节点
- var optionElement = document.createElement("option");
- var provinceName = provinceArr[i].getAttribute("name");
- //创建文本节点
- var textElement =document.createTextNode(provinceName);
- optionElement.appendChild(textElement);
- optionElement.setAttribute("value", provinceName);
- var node = document.getElementById("province");
- node.appendChild(optionElement);
- }
- }
- //省份改变事件
- function changeProvince(node){
- //获取选择的角标
- var index = node.selectedIndex;
- //获取对应的省份名
- var provinceName = node.options[index].value;
- loadCities(provinceName);
- }
- //根据省份编号加载城市信息
- function loadCities(proName){
- var xmlDocument = loadXML();
- var provinceArr =xmlDocument.getElementsByTagName("province");
- //获取城市的元素
- var citySelectEle = document.getElementById("cities");
- var size = citySelectEle.options.length;
- for(var i=size;i>0;i--){
- citySelectEle.remove(i);
- }
- //获取省份的个数
- var proSize = provinceArr.length;
- var proElement;
- //获取对应的省份元素
- for(var i=0;i<proSize;i++){
- if(provinceArr[i].getAttribute("name")==proName){
- proElement = provinceArr[i];
- break;
- }
- }
- //获取省份的城市信息
- var citiesArr = proElement.getElementsByTagName("city");
- var len = citiesArr.length;
- for(var i=0;i<len;i++){
- //创建option节点
- var optionElement = document.createElement("option");
- //获取城市名
- var cityName = citiesArr[i].firstChild.nodeValue;
- //创建文本节点
- var textElement =document.createTextNode(cityName);
- optionElement.appendChild(textElement);
- optionElement.setAttribute("value", cityName);
- citySelectEle.appendChild(optionElement);
- }
- }
- function getValue(){
- var pro = document.getElementById("province").value;
- var city = document.getElementById("cities").value;
- alert(pro+":"+city);
- }
- </script>
- </head>
- <body>
- <select id="province" onchange="changeProvince(this)">
- <option value="" selected="selected">--省份--</option>
- </select>
- <select id="cities">
- <option value="" selected="selected">--城市--</option>
- </select>
- <input type="button" value="弹出" onclick="getValue()"/>
- </body>
- </html>
使用javascript中读取Xml文件做成的一个二级联动菜单的更多相关文章
- C#中读取xml文件指定节点
目录(?)[-] XmlDocumentSelectSingleNode方法的使用 XmlDocumentSelectNodes方法的使用 通过节点属性查找指定节点 参考:Select XML N ...
- .net中读取xml文件中节点的所有属性信息
功能描述: 将数据以xml的格式记录成配置文件,需要获取配置文件中的数据时,则获取对应的配置文件,读取配置文件里对应节点的所有属性. 逻辑实现: 1.将数据配置好在xml文件中. 2.获取xml文件中 ...
- Silverlight 中 读取XML文件
一:xml文件 二:后台代码 private void ReadXml() { List<TreeViewItem> nodes = new List<TreeViewItem> ...
- javascript 实现 对XML文件 2级/3级联动操作
js代码 //实现对xml文档的读取:function loadXMLDoc(dname) { try // Internet Explorer { xmlDoc = new ActiveXObjec ...
- JavaScript 解析读取XML文档 实例代码(转)
JavaScript解析读取XML文件,主要就是加载并解析XML文件,然后就可以测试解析的XML文件的内容,打印输出来. 在线演示:http://demo.jb51.net/js/2012/readx ...
- js 读取xml文件
读取xml文件 [原创 2007-6-20 17:35:37] 字号:大 中 小 js中读取xml文件,简单的例子: <html><head><script> ...
- IE下JS读取xml文件示例代码
JS读取xml文件具体步骤为:创建DOM对象.加载xml文件(仅适用于IE)附示例代码,感兴趣的朋友可以参考下,希望对大家有所帮助使用javascript脚本读取xml文件,这里暂只考虑IE浏览器st ...
- C#中常用的几种读取XML文件的方法
1.C#中常用的几种读取XML文件的方法:http://blog.csdn.net/tiemufeng1122/article/details/6723764/
- 在C#中创建和读取XML文件
1.创建简单的XML文件 为了便于测试,我们首先创建控制台应用程序,项目命名为CreateXml,Program.cs代码如下: 这样会在C盘根目录下创建data2.xml文件,文件内容为 using ...
随机推荐
- 查全率(召回率)、精度(准确率)和F值
文献中的recall rate(查全率或召回率) and precision(精度)是很重要的概念.可惜很多中文网站讲的我都稀里糊涂,只好用google查了个英文的,草翻如下:召回率和精度定义: 从一 ...
- String压缩 解压缩
数据传输时,有时需要将数据压缩和解压缩,本例使用GZIPOutputStream/GZIPInputStream实现. 1.使用ISO-8859-1作为中介编码,可以保证准确还原数据 2.字符编码确定 ...
- 03 Button 按钮
按钮 父类: TextView >概念:可以被按,点击 并且执行一个动作 >属性: 在按钮内部的上下左右设置图片: androi ...
- 如何彻底的删除MySQL数据库(图文教程)
最近有个小课题数据库使用Mysql,提前写一下Mysql作为复习. 第一步当然是要看如何卸载Mysql,因为安装之前要清理掉一切与Mysql有关的数据,否则后边安装失败. 以下操作以Window7操作 ...
- Mybatis逻辑分页原理解析RowBounds
Mybatis提供了一个简单的逻辑分页使用类RowBounds(物理分页当然就是我们在sql语句中指定limit和offset值),在DefaultSqlSession提供的某些查询接口中我们可以看到 ...
- Uva - 177 - Paper Folding
If a large sheet of paper is folded in half, then in half again, etc, with all the folds parallel, t ...
- (四十五)Modal 模态窗口 -遮盖
任何控制器都能通过Modal方式切换. Modal的默认效果是:新显示的控制器从屏幕底部向上,直到盖住之前的控制器为止. 假设有One和Two两个控制器: One到Two的Modal方法:presen ...
- VS2012 发布网站步骤
VS2012中发布网站的方式与以往有了不同,前面的版本发布如图 而2012点publish的时候弹出框有所不同,这边需要新建一个profile名字随便起,发布的方式有好几种, 当然不同的方式配置不同, ...
- 被final关键字坑了
一直都傻傻的以为用final关键字定义的都是不可变的.没想到的是对基本类型来说,这是一直成立的. 但是对于final修饰的对象,仍然可以修改对象里面的对象和成员变量.不变的只是当前对象的地址. 昨天我 ...
- unity shaderlab Blend操作
原文链接: http://www.tiankengblog.com/?p=84 Blend混合操作是作用于在所有计算之后,是Shader渲染的最后一步,进行Blend操作后就可以显示在屏幕上.shad ...
