亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript 調用XML制作連動下拉框

2019-11-18 20:02:22
字體:
來源:轉載
供稿:網友

作者: 何耀
Thursday, June 5 2003 2:44 PM
 

傳統的HTML頁面中連動下拉框采用了兩種方法:
1)直接將下拉框中的內容hardcode于html的javascript中,調用Javascript函數循環寫入下拉框中。這種方法不適用于下拉框內容經常改變的情況。因為數據源和javascript程序寫死在同一頁面。
  
<html>
<head>
<title>List</title>
<meta http-equiv="Content-Type" content="text/html; c
harset=gb2312">
<script LANGUAGE="javascript">
<!--
var onecount;
onecount=0;

subcat = new Array();
subcat[0] = new Array("徐匯區","01","001");
subcat[1] = new Array("嘉定區","01","002");
subcat[2] = new Array("黃浦區","01","003");
subcat[3] = new Array("南昌市","02","004");
subcat[4] = new Array("九江市","02","005");
subcat[5] = new Array("上饒市","02","006");

onecount=6;

function changelocation(locationid)
{
document.myform.smalllocation.length = 0;

var locationid=locationid;
var i;
document.myform.smalllocation.options[0] = new Option('====所有地區====','');
for (i=0;i <onecount; i++)
{
if (subcat[i][1] == locationid)
{
document.myform.smalllocation.options[document.myform.smalllocation.length]
= new Option(subcat[i][0], subcat[i][2]);
}
}

}

//-->
</script>
</head>
<body>
<form name="myform" method="post">
<select name="biglocation"
onChange="changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value)">
<option value="01" selected>上海</option>
<option value="02">江西</option>
</select>
<select name="smalllocation">
<option selected value="">==所有地區==</option>
</select>
</form>
<script LANGUAGE="javascript">
<!--
changelocation(document.myform.biglocation.options[document.myform.biglocation.selectedIndex].value);
//-->
</script>
</body>
</html>

 
2)javascript 直接讀取數據庫,取數據庫中的記錄寫入javascript中,然后和第一種方法一樣,調用javascript函數循環寫入下拉框中。此方法將數據源與javascript分開,但,公開數據庫的連接,從安全角度說,沒有多少實用價值。


我的方法是將下拉框中的數據放在xml文件中,用javascript讀XML文件,取得下拉框中的內容。

HTML 文件如下:
<!-- myfile.html -->

<html>
<head>
<script language="JavaScript" for="window" event="onload">
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var i=0;
var j=0;
var subclass_name="";
loadXML();
function loadXML(){
xmlDoc.async="false";
xmlDoc.load("account.xml");
xmlObj=xmlDoc.documentElement;
nodes = xmlDoc.documentElement.childNodes;
document.frm.mainclass.options.length = 0;
document.frm.subclass.options.length = 0;

for (i=0;i<xmlObj.childNodes.length;i++){
labels=xmlObj.childNodes(i).getAttribute("display_name");
values=xmlObj.childNodes(i).text;
document.frm.mainclass.add(document.createElement("OPTION"));
document.frm.mainclass.options[i].text=labels;
document.frm.mainclass.options[i].value=values;

}

}


</script>

<script language="JavaScript" >
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
var i=0;
var j=0;

function deleteOption() {
   
}

function setsubclass(main){
var is_selected="N";
if (document.frm.subclass.options.length!=0) {
for (i=0;i<=document.frm.subclass.options.length;i++)
document.frm.subclass.options[i]=null ;
}
//重復才有效
if (document.frm.subclass.options.length!=0) {
for (i=0;i<=document.frm.subclass.options.length;i++){
document.frm.subclass.options[i]=null ;
document.frm.subclass.options.remove(i);
}
}


for (i=0;i<xmlObj.childNodes.length;i++){

var values="";
var lables="";

if (is_selected=="Y") return;
labels=xmlObj.childNodes(i).getAttribute("display_name");
values=xmlObj.childNodes(i).text;
//alert(labels+ " | "+main);
if (labels==main){

is_selected="Y";

for (j=0;j<xmlObj.childNodes(i).childNodes.length;j++){
//subclass_name="document.frm.subclass";
labels=xmlObj.childNodes(i).childNodes(j).getAttribute("display_name");
values=xmlObj.childNodes(i).childNodes(j).text;
//alert(values);
document.frm.subclass.add(document.createElement("OPTION"));
document.frm.subclass.options[j].text=labels;
document.frm.subclass.options[j].value=values;

}

}

}
}
</script>

<title>在HTML中調用XML數據</title>
</head>
<body bgcolor="#FFFFFF">
<FORM NAME="frm">
類型<SELECT NAME="mainclass" OnChange='setsubclass(this[selectedIndex].text)'></SELECT>
<option selected value=""  ></option>
子類<SELECT NAME="subclass"></SELECT>
</form>
</body>
</html>

account.xml 如下:


<?xml version="1.0" encoding="GB2312"?>

<item>
<class display_name="未選定">
<subclass display_name="">Not Available</subclass>
</class>
<class display_name="95788主叫卡">
<subclass display_name="1152069589-1152069638">dangdang1</subclass>
<subclass display_name="1152081031-1152081080">dangdang2</subclass>
<subclass display_name="1152547201-1105254750">dangdang3</subclass>
<subclass display_name="1152548401-1152548700">dangdang4</subclass>
<subclass display_name="1152548701-1152549000">dangdang5</subclass>
<subclass display_name="1156000001-1156010000">dangdang6</subclass>
</class>
<class display_name="網上注冊">
<subclass display_name="1152000001-1152001000">zhuce_user1</subclass>
<subclass display_name="1151001000-1151005000">zhuce_user2</subclass>
</class>
<class display_name="通訊">
<subclass display_name="1156030001-1156080000">tongxun</subclass>
</class>

</item>

此方法將數據源與javascript程序分開,適合經常變化的數據源。xmlDoc.load中可以直接調用URL參數,讀取遠程XML,實現松耦合。以上應用在IE6.0中通過。不足之處是在去除下拉框列表內容時需要
重復執行刪除操作,否則會有明顯的bug.希望有讀者能給指正。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人性教育视频在线观看| 亚洲最大激情中文字幕| 9.1国产丝袜在线观看| 91九色视频导航| 欧美亚洲国产成人精品| 久久久久久久亚洲精品| 中文字幕在线看视频国产欧美| 久久精品亚洲热| 91精品美女在线| 亚洲福利视频专区| 91亚洲一区精品| 国产精品日韩欧美大师| 国产精品日日摸夜夜添夜夜av| 91爱爱小视频k| 97在线视频免费播放| 亚洲精品国产精品国自产观看浪潮| 欧美电影在线免费观看网站| 欧美又大又粗又长| 久久久久久久久久久免费精品| 亚洲国产成人久久| 日本在线观看天堂男亚洲| 欧美性xxxxx极品娇小| 97超级碰碰碰| 日韩av一区二区在线| 亚洲精品黄网在线观看| 日韩成人在线电影网| 国产精品第一页在线| 亚洲偷欧美偷国内偷| 成人xvideos免费视频| 亚洲色图第一页| 日韩视频免费在线观看| 国产成人精品999| 精品国产1区2区| 精品亚洲aⅴ在线观看| 国产精品旅馆在线| 日韩免费中文字幕| 亚洲曰本av电影| 亚洲视频专区在线| 国产69久久精品成人看| 欧美壮男野外gaytube| 国产精品99久久久久久白浆小说| 国产视频丨精品|在线观看| 国产亚洲欧美日韩精品| 深夜福利亚洲导航| 亚洲一区美女视频在线观看免费| 在线观看国产精品日韩av| 国产伦精品一区二区三区精品视频| 国产97在线观看| 日韩经典中文字幕| 亚洲国产精品悠悠久久琪琪| 日韩成人xxxx| 中文字幕欧美视频在线| 欧美在线视频免费观看| 91精品美女在线| 欧美一级黄色网| 在线观看亚洲视频| 中文字幕日韩欧美精品在线观看| 欧美精品在线极品| 亚洲国产精品网站| 人体精品一二三区| 亚洲国产女人aaa毛片在线| 久久久久久com| 日本久久中文字幕| 久久天堂电影网| 国产精品白嫩初高中害羞小美女| 成人性生交大片免费看小说| 一区二区三区www| 国产日韩欧美视频| 欧美日本高清视频| 亚洲偷熟乱区亚洲香蕉av| 成人精品aaaa网站| 久久久久一本一区二区青青蜜月| 欧美性69xxxx肥| 日韩欧美视频一区二区三区| 久久精品电影网| 国内免费精品永久在线视频| 亚洲欧美日韩国产中文专区| 欧美高跟鞋交xxxxxhd| 国产精品久久久久久久av电影| 欧美精品情趣视频| 精品国产一区久久久| 亚洲一区二区精品| 一本色道久久综合狠狠躁篇的优点| 日韩中文字幕在线观看| 国产日韩欧美影视| 久久好看免费视频| 久久久久久久久久久成人| 激情久久av一区av二区av三区| 欧美久久精品午夜青青大伊人| 美日韩精品免费观看视频| 国产亚洲精品成人av久久ww| 国内偷自视频区视频综合| 国内精品视频久久| 久久久久国产视频| 久久亚洲影音av资源网| 午夜精品久久久99热福利| 久久精品成人动漫| 91色视频在线导航| 91久久久久久久久| 91精品久久久久久久久久| 欧美激情精品久久久久久黑人| 国产成人一区二区三区| 久久91精品国产91久久久| 亚洲黄色在线看| 日韩精品中文字幕在线| 亚洲人成在线观看网站高清| 91超碰中文字幕久久精品| 97精品国产91久久久久久| 国产精品久久久久7777婷婷| 欧美激情国产日韩精品一区18| 日韩美女毛茸茸| 91精品久久久久久久久中文字幕| 九九精品视频在线| 久久综合国产精品台湾中文娱乐网| 亚洲国产又黄又爽女人高潮的| 国产精品美女久久久久久免费| 精品精品国产国产自在线| 国产精品一二区| 欧美日韩成人在线播放| 亚洲视频在线观看网站| 欧美日韩中文在线| 福利视频一区二区| 中文字幕日韩视频| 九色精品美女在线| 欧美电影第一页| 亚洲xxxx在线| 国产精品人成电影在线观看| 欧美中文字幕在线| 在线播放国产精品| 国模视频一区二区三区| 久久精彩免费视频| 亚洲男人天堂2019| 成人黄色午夜影院| 久久久久亚洲精品国产| 亚洲www在线| 精品久久久视频| 亚洲一区二区国产| 亚洲第一免费播放区| 日韩在线视频线视频免费网站| 久久大大胆人体| 亚洲欧美国产日韩天堂区| 欧美综合国产精品久久丁香| 国产午夜精品一区理论片飘花| 中文一区二区视频| 国产精品1234| 日韩中文字幕在线观看| 国产欧美欧洲在线观看| 亚洲网在线观看| 亚洲aⅴ男人的天堂在线观看| 日韩亚洲在线观看| 欧美日本在线视频中文字字幕| 欧美午夜宅男影院在线观看| 中文字幕日本精品| 欧美在线免费观看| 亚洲视频在线观看视频| 日韩欧美中文在线| 欧美性极品xxxx娇小| 午夜精品一区二区三区av| 精品动漫一区二区| 欧美精品午夜视频| 欧美主播福利视频| 成人性生交大片免费看视频直播| 亚洲女人天堂色在线7777| 日本亚洲欧洲色|