天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

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實現兩級級聯下拉列表,轉載需保留來源!

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

主站蜘蛛池模板: 成人免费视频无遮挡在线看 | 久久a级片 | 亚洲一区免费在线观看 | 黑人 尺寸 强行害怕 痛哭 | 校花在公车上被内射好舒服 | 久久91精品久久久久久水蜜桃 | 丰满人妻按磨HD | 久久久精品3d动漫一区二区三区 | 国产成人无码精品久久久免费69 | 国产精品A8198V久久A片 | 国模沟沟一区二区三区 | 漂亮的av女演员 | 全彩黄漫火影忍者纲手无遮挡 | 亚洲乱码一区二区三区香蕉 | 蜜臀AV人妻久久无码精品麻豆 | 丝瓜视频在线免费 | 亚州日韩精品AV片无码中文 | 99久免费精品视频在线观看2 | 中文中幕无码亚洲视频 | 怡红院美国分院一区二区 | 亚洲精品久久午夜麻豆 | MD传媒在线观看佳片 | 亚洲国产AV精品一区二区蜜芽 | 国产高清美女一级毛片久久 | 国产精品久久人妻无码网站一区L | 自拍偷拍12p | 医生含着我的奶边摸边做 | 67194成在线观看免费 | 国产精品AV视频一二三区 | a视频免费在线观看 | 亚洲国产高清视频在线观看 | 伦理片午夜在线视频 | 无遮挡h肉3d动漫在线观看 | Zoofilivideo人馿交 | 久久精品国产亚洲AV麻豆欧美玲 | 印度学生xxxxx性14一16 | 二次元美女扒开内裤喷水 | 2021国产精品一卡2卡三卡4卡 | 国产小视频国产精品 | 黑人巨大交牲老太 | 日韩精品无码免费专区 |