js解析xml文件并实现省市的二级连动分析案例
来源:互联网 发布:python编程实践 编辑:程序博客网 时间:2024/04/28 13:02
- 1、加载 XML 的方式
- //IE浏览器
- var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
- //firefox 其他浏览器
- var xmlDoc = document.implementation.createDocument("","",null);
var provincesNode;
var cityNode;
window.onload = function(){
var xmlDoc = getXmlDocument();
//alert(xmlDoc);
//获取省的所有节点
provincesNode = xmlDoc.getElementsByTagName("province");
//alert(provincesNode.length);
//html中select id = pro 对应的节点对象
var proNode = document.getElementById("pro");
for(var i=0;i<provincesNode.length;i++){
//获取具体的省节点
var provinceNode = provincesNode[i];
//获取省名称
var provinceName = provinceNode.getAttribute("name");
//创建htnl中option元素节点
var optionNode = document.createElement("option");
//给option元素节点赋值
optionNode.setAttribute("value",provinceName);
//设置文本节点
optionNode.appendChild(document.createTextNode(provinceName));
//添加到html中select id = pro对应的节点
proNode.appendChild(optionNode);
}
//获取选中的省名称
var selectProName = proNode.options[proNode.selectedIndex].value;
cityNode = document.getElementById("city");
for(var j=0;j<provincesNode.length;j++){
//获取具体的省节点
var provinceNode = provincesNode[j];
//获取省名称
var provinceName = provinceNode.getAttribute("name");
if(selectProName==provinceName){
var citiesNode = provinceNode.getElementsByTagName("city");
for(var k=0;k<citiesNode.length;k++){
var cityName = citiesNode[k].firstChild.nodeValue;
//创建htnl中option元素节点
var optionNode = document.createElement("option");
//给option元素节点赋值
optionNode.setAttribute("value",cityName);
//设置文本节点
optionNode.appendChild(document.createTextNode(cityName));
//添加到html中select id = pro对应的节点
cityNode.appendChild(optionNode);
};
}
}
//注册事件
proNode.onchange=selectchange;
};
var selectchange=function(){
//清空操作
var cityNode = document.getElementById("city");
//cityNode.length=0;
for(var c=0;c<cityNode.length;){
cityNode.remove(0);
}
var cityNode = document.getElementById("city");
for(var j=0;j<provincesNode.length;j++){
//获取具体的省节点
var provinceNode = provincesNode[j];
//获取省名称
var provinceName = provinceNode.getAttribute("name");
if(this.value==provinceName){
var citiesNode = provinceNode.getElementsByTagName("city");
for(var k=0;k<citiesNode.length;k++){
var cityName = citiesNode[k].firstChild.nodeValue;
//创建htnl中option元素节点
var optionNode = document.createElement("option");
//给option元素节点赋值
optionNode.setAttribute("value",cityName);
//设置文本节点
optionNode.appendChild(document.createTextNode(cityName));
//添加到html中select id = pro对应的节点
cityNode.appendChild(optionNode);
};
}
}
};
/*
* 获取document对象
*/
function getXmlDocument(){
//声明XMLDoc对象
var xmlDoc;
try{
//如果是ie
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}catch(ex){
try{
//firefox、operal
xmlDoc = document.implementation.createDocument("", "", null);
}catch(e){
alert("浏览器版本过低");
}
}
xmlDoc.async=false;//异步关闭
//装载xml文件
xmlDoc.load("select1.xml");
return xmlDoc;
}
0 0
- js解析xml文件并实现省市的二级连动分析案例
- JS+XML实现省市县三级连动
- js-案例:省市连动下拉框
- javascirpt解析xml并实现省市二级联动
- 用js解析xml实现省市二级联动
- 实现省市连动
- 省市连动JS二
- javascript-解析xml文件-在html中实现二级联动分析及案例
- JS二级连动菜单
- js城市二级连动
- 我的二级连动
- Ajax实现省市二级联动(解析XML内容)
- Java乔晓松-js解析xml文件实现select二级联动
- JS解析XML--实现省市县级联
- 利用XMLHTTP实现的二级连动Select.
- 利用XMLHTTP实现的二级连动Select
- 利用XMLHTTP实现的二级连动Select.
- js实现省市二级联动
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
- Eclipse安装JD-Eclipse反编译插件
- cocos2dx 3.2键盘操控的列表页的初步实现
- 设计模式--单例模式
- java设计模式之代理
- js解析xml文件并实现省市的二级连动分析案例
- Android不同方式启动导致重复启动相同的Activity的问题解决办法
- 第十周血型统计
- oracle 表压缩技术
- 第十周项目一 思则运算
- 关于Android 权限管理的几点认识
- gdb 调试 笔记(1)
- 程序员必看的书
- 第十周项目一 2:领会各种控制符号所起的作用和方式