Javascript -- 级联菜单, javascript解析xml文件
1.
cities.xml 保存省份和城市
- <?xml version="1.0" encoding="GB2312"?>
- <china>
- <province name="吉林省">
- <city>长春</city>
- <city>吉林市</city>
- <city>四平</city>
- <city>松原</city>
- <city>通化</city>
- </province>
- <province name="辽宁省">
- <city>沈阳</city>
- <city>大连</city>
- <city>鞍山</city>
- <city>抚顺</city>
- <city>铁岭</city>
- </province>
- <province name="山东省">
- <city>济南</city>
- <city>青岛</city>
- <city>威海</city>
- <city>烟台</city>
- <city>潍坊</city>
- </province>
- </china>
city.html
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>test01.html</title>
- <meta http-equiv="content-type" content="text/html; charset=UTF-8">
- </head>
- <body>
- <select id="province" name="province">
- <option value="">请选择....</option>
- </select>
- <select id="city" name="city">
- <option value="">请选择.....</option>
- </select>
- </body>
- <script language="JavaScript">
- window.onload=function(){
- var provinceElement = document.getElementById("province");
- var cityElement = document.getElementById("city");
- var xmlDom = parseXML("cities.xml");
- var xmlProvinceElements = xmlDom.getElementsByTagName("province");
- for(var i=0;i<xmlProvinceElements.length;i++){
- var xmlProvinceName = xmlProvinceElements[i].getAttribute("name");
- var textElement = document.createTextNode(xmlProvinceName);
- var optionElement = document.createElement("option");
- optionElement.appendChild(textElement);
- optionElement.setAttribute("value",xmlProvinceName);
- provinceElement.appendChild(optionElement);
- }
- provinceElement.onchange = function(){
- var optionElements = cityElement.getElementsByTagName("option");
- for(var i=optionElements.length-1;i>0;i--){
- cityElement.removeChild(optionElements[i]);
- }
- var changename = this.value;
- for(var i=0;i<xmlProvinceElements.length;i++){
- var xmlProvinceName = xmlProvinceElements[i].getAttribute("name");
- if(changename==xmlProvinceName){
- var xmlCitiesElements = xmlProvinceElements[i].getElementsByTagName("city");
- for(var j=0;j<xmlCitiesElements.length;j++){
- var xmlCityName = xmlCitiesElements[j].firstChild.nodeValue;
- var textElement = document.createTextNode(xmlCityName);
- var optionElement = document.createElement("option");
- optionElement.appendChild(textElement);
- optionElement.setAttribute("value",xmlCityName);
- cityElement.appendChild(optionElement);
- }
- }
- }
- }
- }
- ///////////////////////////////////////////////////////////////////////////////////////////////
- function parseXML(filename){
- var xmlDoc;
- try { //Internet Explorer
- xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
- }
- catch (e) {
- try { //Firefox, Mozilla, Opera, etc.
- xmlDoc = document.implementation.createDocument("", "", null);
- }
- catch (e) {
- }
- }
- //关闭异步加载,这样确保在文档完全加载之前解析器不会继续脚本的执行。
- xmlDoc.async=false;
- //解析器加载名为 "xxx.xml" 的 XML 文档
- xmlDoc.load(filename);
- return xmlDoc;
- }
- </script>
- </html>
Javascript -- 级联菜单, javascript解析xml文件的更多相关文章
- XML:使用DOM技术解析xML文件中的城市,实现select级联选择
中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> ...
- JQuery -- Jquery 中的Ajax, Jquery解析xml文件
1. JQuery 对 Ajax 操作进行了封装,在 jQuery 中最底层的方法时 $.ajax(), 第二层是 load(), $.get() 和 $.post(),第三层是$.getScript ...
- JS解析XML文件和XML字符串
JS解析XML文件 <script type='text/javascript'> loadXML = function(xmlFile){ var xmlDoc=null; //判断浏览 ...
- Php 解析XML文件
Php 解析XML文件 Php 解析XML文件,仅供学习參考!演示样例代码例如以下: <?php header("Content-type: text/html; charset=ut ...
- Ajax实现xml文件数据插入数据库(一)--- 构建解析xml文件的js库
Ajax实现将xml文件数据插入数据库的过程所涉及到的内容比较多,所以对于该过程的讲解本人打算根据交互的过程将其分为三个部分,第一部分为构建解析xml文件的javascript库,第二部分为ajax与 ...
- 深入浅出如何解析xml文件---下篇
在上篇博文中,小编主要介绍xml的两种解析方式,分别是dom4j和dom,今天这篇博文,小编主要来简单介绍一下xml的其她两种解析方式sax和jdom. sax解析xml文件 sax,全称是Simp ...
- jQuery ajax解析xml文件demo
解析xml文件,然后将城市列表还原到下拉列表框中:当选择下拉列表框时,在对应的文本框中显示该城市信息. 前端代码: <!doctype html> <html> <hea ...
- Android程序解析XML文件的方法及使用PULL解析XML案例
一.一般解析XML文件的方法有SAX和DOM.PULL (1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信 ...
- Android 解析XML文件和生成XML文件
解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...
随机推荐
- 火狐 a 标签 download 属性,要在 a 标签添加到页面中才生效;
在 chrome 中,如果需要设置点击下载文件,需要创建一个 a 标签,指定 download 属性和 href 属性即可, var aLink = document.createElement('a ...
- Thrift初试
Restful 基于 Http 进行通讯. 开放.标准.简单.兼容性升级容易: 性能略低.在 QPS 高或者对响应时间要求苛刻的服务上,可以用 RPC,RPC采用二进制传输.TCP 通讯,所以通常性能 ...
- CodeForeces 665C Simple Strings
C. Simple Strings time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- 对opencv.hpp头文件的认识
OpenCV学习笔记(二):对opencv.hpp头文件的认识 - 安东的技术博客 - CSDN博客 https://blog.csdn.net/xidiancoder/article/details ...
- IDEA 录制宏+设置快捷键 实现写时编译
参考: IDEA 录制宏+设置快捷键 实现写时编译:https://blog.csdn.net/wangjie919/article/details/79487981 IDEA 设置运行时不编译项目: ...
- django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)
在python的开发中,遇到了这个错误: django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TA ...
- Andrew Ng机器学习总结(自用)
监督学习: 线性回归,逻辑回归,神经网络,支持向量机. 非监督学习: K-means,PCA,异常检测 应用: 推荐系统,大规模机器学习 机器学习系统优化: 偏差/方差,正则化,下一步要进行的工作:评 ...
- Tomcat的session
创建session 在具体说明session的创建过程之前,先看一下BS访问模型: browser发送Http request: tomcat内核Http11Processor会从HTTP requ ...
- SQL2000查看表的大小
SQL2000查看表的大小 标签: sqlsql server数据库报表tableinsert 2011-06-08 11:47 4013人阅读 评论(0) 收藏 举报 SQL2000查看表的大小 本 ...
- boost atomic
文档: http://www.boost.org/doc/libs/1_53_0/doc/html/atomic.html Presenting Boost.Atomic Boost.Atomic i ...