这是我的一篇关于js解析xml练习的一篇文章:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<title></title>
</head>
<body>
<select name="country" id="country">
<option value="">-- 请选择国家 --</option>
</select>
<select name="province" id="province">
<option value="">-- 请选择省市 --</option>
</select>
<select name="city" id="city">
<option value="">-- 请选择城市 --</option>
</select>
<select name="region" id="region" style="display:none">
<option value="">-- 请选择县 --</option>
</select>
<script type="text/javascript">
var xmlDom;
if(window.ActiveXObject){
xmlDom = new ActiveXObject("Microsoft.XMLDOM");
}else{
xmlDom = document.implementation.createDocument("","",null);
}
//alert(xmlDom);//---加载本地xml文件---并解析
xmlDom.async = false;
xmlDom.load("LocList.xml");
var countrys = xmlDom.getElementsByTagName("CountryRegion");
//第一级级联
for(var i = 0;i < countrys.length;i++){
var country = countrys[i].getAttribute("Name");
var option = new Option(country,country);
document.getElementById("country").options.add(option);
//alert(country);
}
//第二级级联
document.getElementById("country").onblur = function(){
var v = this.value; //国家
//alert(v + "^^^" + country);
for(var k = 0; k < countrys.length;k++){
var countryName = countrys[k].getAttribute("Name");
var country = countrys[k];
if(countryName == v){
var provinces = country.getElementsByTagName("State");
//alert(provinces.length);
document.getElementById("province").options.length = 1; //选择前清空
for(var j = 0;j < provinces.length;j++){
var province = provinces[j].getAttribute("Name");
var option = new Option(province,province);
document.getElementById("province").options.add(option);
}
}
}
//document.getElementById("city").options.length = 1
}
//第三级级联----省变动的时候出现三级级联
document.getElementById("province").onchange = function(){
for(var m = 0; m < countrys.length;m++){
var v2 = this.value;
var provinces = countrys[m].getElementsByTagName("State");
//alert(v2 + "&&&" + this.value);
//外国的州一般为空---暂时不可用
//中国的省市处理
for(var n = 0;n < provinces.length;n++){
var provinceName = provinces[n].getAttribute("Name");
//alert(v1 + "**" + provinceName);
var province = provinces[n];
if(provinceName == v2){
var citys = province.getElementsByTagName("City");
document.getElementById("city").options.length = 1; //选择前清空
for(var k = 0;k < citys.length;k++){
var city = citys[k].getAttribute("Name");
var option = new Option(city,city);
document.getElementById("city").options.add(option);
}
}else if(v2 == ""){
alert("aa");
}
}
}
}
document.getElementById("city").onchange = function(){
document.getElementById("region").style.display = "block";
}
</script>
</body>
</html>
分享到:
相关推荐
省级三级联动下拉选项 www.hunlun.com
JS实现省级联动菜单
完美的js省级联动效果
一个很好的省级联动js文件,拿来可以直接使用,很方便的哦!
js实现省级联动(数据结构优化).docx
NULL 博文链接:https://liuzidong.iteye.com/blog/1001483
这个省市县三级联动界面简单,好看,而且代码简单易懂
Echarts地图省级联动,动态加载数据,实现右键返回。有源码,简单易懂,并附有省市js和json地图。
仿京东配送至联动城市选择器插件js代码,
省市联动,非常常用的省市联动效果,html+js
本文实例为大家分享了js实现省级联动的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=...
好东西,值得大家的下载....... 多多关注哈.
全国省市区数据(手工核对整理),内含一份json数组,一份js数组,原生select三级联动,手写jQuery自定义三级联动可查看我的博客
京东配送至联动城市选择器插件js代码
html+js三级联动源码包括省级别市级别区县级别三级联动
主要介绍了使用二维数组实现的省市联动菜单,通过二维数组存储城市列表项,需要的朋友可以参考下
简单的省市联动效果,利用js做出来的联动效果。简单的省市联动效果,利用js做出来的联动效果。