使用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 ...
随机推荐
- HTML5中 HTML列表/块/布局 韩俊强的博客
从简单到复杂HTML5详解:每日更新关注:http://weibo.com/hanjunqiang 新浪微博! 1.HTML列表 1.有序 2.无序 3.有序star属性 4.有序无序列表 代码: ...
- linux常用的压缩与解压缩命令
1.gzip 压缩 gzip 是压缩文件,压缩之后文件后缀为.gz 用法:gzip 选项 [文件] 2.gunzip 解压 这个命令与gzip的功能刚好相反,这个是解压. 用法 gunzip 选项 [ ...
- Ext JS 6开发实例(四) :调整主视图
上文把主界面设置好,但是主视图因为界面的微调出现了显示问题,本文将把它调整好了. 打开app/view/main/Main.js,可以看到主视图是派生于标签面板(Ext.tab.Panel)的.在视图 ...
- Access数据类型和.NET数据类型映射
下表列出了 Microsoft Access 和这些数据类型与 Microsoft.NET Framework 数据类型与 OleDbType 枚举的方式中使用的最常见的数据类型. 访问类型名称 数据 ...
- 手把手教你轻松实现listview上拉加载
上篇讲了如何简单快速的的实现listview下拉刷新,那么本篇将讲解如何简单快速的实现上拉加载更多.其实,如果你已经理解了下拉刷新的实现过程,那么实现上拉加载更多将变得轻松起来,原理完全一致,甚至实现 ...
- Docker教程:镜像构建和自动镜像构建dockerfile
http://blog.csdn.net/pipisorry/article/details/50805379 Docker透过Dockerfile来记录建立Container映象文件的每一个步骤,可 ...
- xml解析之使用dom4j的api对xml文件进行CRUD(二)
在使用dom4j的api对xml文件进行CRUD(一)见博客http://blog.csdn.net/qq_32059827/article/details/51524330的基础上,再对做一次练习. ...
- 【一天一道LeetCode】#96. Unique Binary Search Trees
一天一道LeetCode 本系列文章已全部上传至我的github,地址:ZeeCoder's Github 欢迎大家关注我的新浪微博,我的新浪微博 欢迎转载,转载请注明出处 (一)题目 Given n ...
- 最简单的基于FFMPEG的图像编码器(YUV编码为JPEG)
伴随着毕业论文的完成,这两天终于腾出了空闲,又有时间搞搞FFMPEG的研究了.想着之前一直搞的都是FFMPEG解码方面的工作,很少涉及到FFMPEG编码方面的东西,于是打算研究一下FFMPEG的编码. ...
- 【一天一道LeetCode】#61. Rotate List
一天一道LeetCode系列 (一)题目 Given a list, rotate the list to the right by k places, where k is non-negative ...
