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

首頁 > 開發 > XML > 正文

javascript調用XML制作連動下拉框

2024-09-05 20:54:03
字體:
來源:轉載
供稿:網友

傳統的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
国自在线精品视频| 久久久精品视频成人| 91av在线免费观看视频| 日韩在线播放视频| 亚洲一级免费视频| 国内揄拍国内精品少妇国语| 2023亚洲男人天堂| 国产精品一区电影| 日韩精品亚洲视频| 久久精品国产91精品亚洲| 国产视频久久网| 亚洲无亚洲人成网站77777| 26uuu另类亚洲欧美日本一| 九九久久精品一区| 国产一区二区三区视频| 日本欧美一级片| 精品精品国产国产自在线| 538国产精品视频一区二区| 欧美一区在线直播| 欧美午夜片在线免费观看| 亚洲成人激情在线观看| 日韩网站在线观看| 国语自产精品视频在线看抢先版图片| 中文字幕亚洲欧美一区二区三区| 成人免费网站在线看| 亚洲精品综合精品自拍| 最近免费中文字幕视频2019| 欧美猛交ⅹxxx乱大交视频| 亚洲品质视频自拍网| 欧美激情网友自拍| 国产精品小说在线| 久色乳综合思思在线视频| 日韩在线观看免费全集电视剧网站| 亚洲国产91精品在线观看| 黄网动漫久久久| 欧美专区在线视频| 久久久最新网址| 欧美激情精品久久久久久大尺度| 久久精品99无色码中文字幕| 国产欧美精品一区二区| 欧美乱妇高清无乱码| 日本伊人精品一区二区三区介绍| 欧美与欧洲交xxxx免费观看| 91精品久久久久久久久不口人| xvideos成人免费中文版| 欧美性xxxx在线播放| 北条麻妃在线一区二区| 国产香蕉一区二区三区在线视频| 福利视频导航一区| 亚洲精品久久久久中文字幕二区| 亚洲网站在线观看| 久久国产天堂福利天堂| 久久精品国产亚洲精品2020| 91av视频在线| 欧美激情精品久久久久久变态| 国产亚洲精品美女久久久久| 欧美一级黄色网| 欧美激情亚洲综合一区| 国产精品永久免费| 国产精品18久久久久久首页狼| 精品国产美女在线| 在线播放日韩欧美| 久久久久国色av免费观看性色| www.欧美免费| 九九热在线精品视频| 亚洲精品欧美极品| 久久最新资源网| 欧美亚洲伦理www| 日韩亚洲国产中文字幕| 97香蕉久久超级碰碰高清版| 亚洲人成电影在线观看天堂色| 国产日韩欧美一二三区| 日韩美女中文字幕| 亚洲免费伊人电影在线观看av| 福利视频第一区| 日韩电影在线观看中文字幕| 综合欧美国产视频二区| 91最新在线免费观看| 青青在线视频一区二区三区| 91亚洲va在线va天堂va国| 2019日本中文字幕| 久久久午夜视频| 欧美限制级电影在线观看| 久久精品国产一区二区三区| 亚洲电影成人av99爱色| 在线免费观看羞羞视频一区二区| 在线观看国产欧美| 国产日韩欧美综合| 国产精品一区二区在线| 国产日韩视频在线观看| 日韩精品极品毛片系列视频| 国产成人a亚洲精品| 欧美激情在线播放| 亚洲国产天堂久久国产91| 久久久久久一区二区三区| 久久久国产一区| 国内精品视频在线| 日本精品久久久久影院| 日韩视频免费中文字幕| 日韩精品电影网| 国内精品免费午夜毛片| 日本精品久久久久影院| 另类美女黄大片| 中文字幕亚洲欧美日韩在线不卡| 国产日韩欧美中文在线播放| 最新日韩中文字幕| 91久久精品美女高潮| 欧美日韩久久久久| 欧美情侣性视频| 成人天堂噜噜噜| 日韩中文字幕在线免费观看| 日韩综合视频在线观看| 亚洲国产精品资源| 国产精品99久久99久久久二8| 国产精品入口日韩视频大尺度| 91精品国产91| 国产精品无av码在线观看| 久久在线免费观看视频| 国产成人午夜视频网址| 精品一区二区亚洲| 国产精品综合网站| 日韩黄色av网站| 欧美大片欧美激情性色a∨久久| 668精品在线视频| 亚洲欧美另类在线观看| 亚洲欧美日韩中文视频| 欧美精品在线免费播放| 日韩欧美成人区| 国产精品女人久久久久久| 欧美极品少妇xxxxⅹ喷水| 亚洲欧洲国产一区| 中文字幕欧美日韩va免费视频| 欧美精品九九久久| 亚洲美女免费精品视频在线观看| 在线观看91久久久久久| 2025国产精品视频| 亚洲欧美另类在线观看| 欧美一级视频免费在线观看| 国内精品400部情侣激情| 欧美韩国理论所午夜片917电影| 欧美日韩国产一区在线| 欧美精品videosex极品1| 久久人人爽人人爽人人片亚洲| 亚洲欧美日韩精品久久奇米色影视| 久久精品影视伊人网| 精品亚洲精品福利线在观看| 久久久久国色av免费观看性色| 国产精品一区二区三| 国产精品一区二区三区久久久| 国产成人精品电影久久久| 日韩国产中文字幕| 成人有码视频在线播放| 亚洲理论电影网| 欧美在线www| 亚洲欧美综合精品久久成人| 亚洲女人天堂网| 国产成人综合亚洲| 成人欧美一区二区三区在线湿哒哒| 成人国内精品久久久久一区| 国产女精品视频网站免费| 亚洲午夜色婷婷在线| 成人性生交大片免费观看嘿嘿视频| 国产成人精品久久亚洲高清不卡| 欧美在线性爱视频|