一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

JavaScript XML實現兩級級聯下拉列表

1.創建測試XML文件:select.xml
復制代碼 代碼如下:
<?xml version="1.0" encoding="GBK"?>
<select>
<province id="sx">
陜西
<city id="xa">西安</city>
<city id="bj">寶雞</city>
<city id="ak">安康</city>
</province>
<province id="js">
江蘇
<city id="nj">南京</city>
<city id="xz">徐州</city>
</province>
<province id="sh">
上海
</province>
</select>

2.創建HTML頁面:select.html
復制代碼 代碼如下:
<body>
</body>
<script>...
/**//**
* @description 二級級聯下拉
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
SelectLevel.prototype.xml;
SelectLevel.prototype.provinces;
SelectLevel.prototype.parentName="province";//父節點名稱
SelectLevel.prototype.childName="city";//子節點名稱
SelectLevel.prototype.keyName="id";//屬性
/**//**
* 對象SelectLevel的構造器
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
function SelectLevel(parentName,childName,keyName)...{
if(parentName!=null && parentName!="")...{
this.parentName=parentName;
}
if(childName!=null && childName!="")...{
this.childName=childName;
}
if(keyName!=null && keyName!="")...{
this.keyName=keyName;
}
}
/**//**
* 加載xml文件
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
SelectLevel.prototype.readXML=function(url)...{
var selectXML;
//如果它受支持,采用標準的2級DOM技術
if(document.implementation && document.implementation.createDocument)...{
//創建新的Document對象
selectXML=document.implementation.createDocument("","",null);
//設置裝載完畢時觸發事件
selectXML.onload=function()...{
alert("加載完成");
}
selectXML.load(url);
}else...{//IE瀏覽器創建Document對象
selectXML=new ActiveXObject("Microsoft.XMLDOM");
//設置onload
selectXML.onreadystatechange=function()...{
if(selectXML.readyState==4)...{
alert("加載完成");
}
}
selectXML.load(url);
}
this.xml=selectXML;
}
/**//**
* 遍歷xml
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
SelectLevel.prototype.iteratorXML=function(node,level)...{
var n=node;
if(n==null)...{
n=this.xml.documentElement;
}
if(level==null)...{
level=0;
}
if(n.nodeType==3)...{
for(var i=0;i<level;i++)...{
document.write("-");
}
document.write(n.data.trim()+"<br>");
}else...{
for(var m=n.firstChild;m!=null;m=m.nextSibling)...{
this.iteratorXML(m,level+1);
}
}
}
/**//**
* 下拉聯動
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
SelectLevel.prototype.changeSelect=function()...{
var city=document.getElementById(this.childName);
var province=document.getElementById(this.parentName);
city.options.length=0;
if(province.value==null || province.value=="")...{
city.options.length=1;
city.options[0].text="請選擇…";
return;
}
var citys=this.provinces[this[province.value]].getElementsByTagName(this.childName);
if(citys.length==0)...{
city.options.length=city.options.length+1;
city.options[city.options.length-1].value=province.value;
for(var i=0;i<province.options.length;i++)...{
if(province.options[i].selected)...{
city.options[city.options.length-1].text=province.options[i].text;
return;
}
}
return;
}
city.options.length=citys.length;
for(var i=0;i<citys.length;i++)...{
city.options[i].value=citys[i].getAttribute(this.keyName);
city.options[i].text=citys[i].firstChild.data.trim();
}
}
/**//**
* 初始化下拉列表
* @author BluesLee
* @lastModif BluesLee
* @createDate 2007-10-13
* @modifDate 2007-10-15
* @version 1.0
*/
SelectLevel.prototype.init=function(parent,province,city)...{
this.provinces=this.xml.getElementsByTagName(this.parentName);
var selectProvince=document.createElement("select");
var selectCity=document.createElement("select");
var obj=this;
selectProvince.setAttribute("name",this.parentName);
selectProvince.setAttribute("id",this.parentName);
selectProvince.attachEvent("onchange",function()...{obj.changeSelect();});
selectProvince.options.length=this.provinces.length+1;
selectProvince.options[0].text="請選擇…";
selectCity.setAttribute("name",this.childName);
selectCity.setAttribute("id",this.childName);
selectCity.options.length=1;
selectCity.options[0].text="請選擇…";
for(var i=0;i<this.provinces.length;i++)...{
SelectLevel.prototype[this.provinces[i].getAttribute(this.keyName)]=i;
selectProvince.options[i+1].value=this.provinces[i].getAttribute(this.keyName);
selectProvince.options[i+1].text=this.provinces[i].firstChild.data.trim();
if(this.provinces[i].getAttribute(this.keyName)==province)...{
selectProvince.options[i+1].selected=true;
var citys=this.provinces[i].getElementsByTagName(this.childName);
selectCity.options.length=citys.length+1;
for(var j=0;j<citys.length;j++)...{
selectCity.options[j+1].value=citys[j].getAttribute(this.keyName);
selectCity.options[j+1].text=citys[j].firstChild.data.trim();
if(citys[j].getAttribute(this.keyName)==city)...{
selectCity.options[j+1].selected=true;
}
}
}
}
parent.appendChild(selectProvince);
parent.appendChild(selectCity);
}
String.prototype.trim=function()...{
return this.replace(/^s*/g,"").replace(/s*$/g,"");
}
//測試
var newXML=new SelectLevel();
newXML.readXML("select.xml");
//newXML.iteratorXML(null,-2);
newXML.init(document.body,"sx","bj");
</script>

JavaScript技術JavaScript XML實現兩級級聯下拉列表,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美日韩国产一区二区三区不卡 | 99精品热线在线观看免费视频 | 欧美日韩亚洲二区在线 | 黄色网址 在线播放 | 在线色国产 | 高清视频 一区二区三区四区 | 国产成人综合久久精品亚洲 | 日韩久久精品一区二区三区 | 亚洲精品午夜aaa级久久久久 | 久久亚洲精品成人综合 | 午夜免费观看_视频在线观看 | 高清不卡免费一区二区三区 | 麻豆精品久久久一区二区 | 精品成人免费播放国产片 | 91操碰| 日韩在线一区二区三区视频 | 94欧美setu | 免费国产叼嘿视频在线观看 | 新97人人模人人爽人人喊 | 九色精品视频在线观看 | 欧美一级做一a做片性视频 欧美一级做一级做片性十三 | 98bb国产精品视频 | 深爱五月激情 | 国产精品久久亚洲一区二区 | 成人福利视频网 | 国产男人女人做性全过程视频 | 极品丝袜高跟91极品系列 | 国产在视频线精品www666 | 久久久久久久一精品 | 九一国产精品 | 国产3区| 色精品视频 | 亚洲国产乱码在线精品 | 久久精品国产一区二区三区肥胖 | 91福利精品老师国产自产在线 | 91色久| 九九久久精品视频 | 亚洲香蕉在线视频 | 伊人精品视频在线观看 | 国产福利资源 | 2021久久精品国产99国产精品 |