使用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 ...
随机推荐
- SSH深度历险(五) 深入浅出-----IOC AND AOP
IOC就是Inversion of Control,控制反转.在Java开发中,IoC意味着将你设计好的类交给系统(容器)来控制实现,而不是在你的类内部控制.这称为控制反转. 本人理解:就是把原本你自 ...
- love~LBJ,奥布莱恩神杯3
时间:2016年6月20日8:00:地点:美国金州甲骨文(Oracle)球馆:事件:G7大战,又一次见证伟大赛季奥布莱恩神杯得主--金州勇士VS克利夫兰骑士...... 可以说,这是NBA以来 ...
- UNIX网络编程——TCP/IP简介
一.ISO/OSI参考模型 OSI(open system interconnection)开放系统互联模型是由ISO(International Organization for Standardi ...
- Win7 Eclipse Hadoop2.4插件配置
准备工作: 1.下载hadoop2x-eclipse-plugin-master.zip Github地址:https://github.com/winghc/hadoop2x-eclipse-plu ...
- Android初级教程理论知识(第四章内容提供器)
之前第三章理论知识写到过数据库.数据库是在程序内部自己访问自己.而内容提供器是访问别的程序数据的,即跨程序共享数据.对访问的数据也无非就是CRUD. 内容提供者 应用的数据库是不允许其他应用访问的 内 ...
- [GitHub]第三讲:简单分支操作
Git 最核心的操作对象是版本( commit ),最核心的操作技巧就是分支. 什么是分支? 仓库创建后,一旦有了新 commit,默认就会放到一个分支上,名字叫 master.前面咱们一直看到的多个 ...
- Spring+Hibernate4 Junit 报错No Session found for current thread
论坛上有另外一篇更全面的帖子,jinnianshilongnian写的:http://www.iteye.com/topic/1120924 本文的环境是: spring-framework-3.1 ...
- 使用C#+socket实现用移动设备控制的虚拟手柄
近期在和同学玩死神vs火影,以怀念小时候,突然觉得用键盘玩的不够畅快,因此萌生了写一个虚拟手柄的念头. 我的思路是在移动设备(iOS.Android)上实现手柄,在电脑上监听,利用socket建立持久 ...
- 看uboot的时候发现随机数的另外一种算法
#include <stdio.h> #include <time.h> static unsigned int y = 1U; unsigned int rand_r(uns ...
- OC学习之道:关于Block的初级学习
[objc] view plaincopy "code" class="OC"> // // main.m // Copyright (c) 2015 ...
