JavaScript二維數(shù)組實(shí)現(xiàn)的省市聯(lián)動菜單
來源:易賢網(wǎng) 閱讀:1142 次 日期:2014-05-09 15:32:56
溫馨提示:易賢網(wǎng)小編為您整理了“JavaScript二維數(shù)組實(shí)現(xiàn)的省市聯(lián)動菜單”,方便廣大網(wǎng)友查閱!

這篇文章主要介紹了使用二維數(shù)組實(shí)現(xiàn)的省市聯(lián)動菜單,通過二維數(shù)組存儲城市列表項,需要的朋友可以參考下

代碼如下:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

//初始化一個二維數(shù)組存儲城市列表項

var cities=[

["安慶","合肥","桐城"],

["石家莊","保定","唐山"],

["鄭州","洛陽","開封"]

];

//選中某個省份時候,調(diào)用添加城市的方法

function provinceChanged(sel){

//alert("select的長度"+sel.options.length);

//sel其實(shí)就是select對象

//遍歷options集合,查找選中的選項

for(var x=0;x<sel.options.length;x++)

{

var opt=sel.options[x];

if(opt.selected)

{

//給被選擇的城市的select 添加option

addCityToSelect(x)

}

}

}

//添加選中省份下的城市項到city的select中

function addCityToSelect(x){

//從二維數(shù)組中找出對應(yīng)的城市

var city=cities[x-1];

var citySelect=document.getElementById("select_city");

/*==================刪除節(jié)點(diǎn)中已經(jīng)存在的元素===============

在第二次或第n次調(diào)用方法的時候城市select對象中已經(jīng)添加了之前添加的節(jié)點(diǎn),所以有清空。

思路1:select對象的removeChild(),所以通過循環(huán)遍歷可以刪除字節(jié)點(diǎn)。

思路2:直接設(shè)置select.options.length=1可以實(shí)現(xiàn)相同效果。

*/

//設(shè)置城市的select對象下的options長度為1

citySelect.options.length=1;

//設(shè)置options集合的長度,刪除

//citySelect.options.length=1;

for(var x=0;x<city.length;x++)

{

//創(chuàng)建元素節(jié)點(diǎn)對象

var optionName=document.createElement("option");

//給option設(shè)置顯示內(nèi)容

optionName.innerHTML=city[x];

//將創(chuàng)建的option添加到select

citySelect.appendChild(optionName);

/*

在這個地方將某一個省份下面的所有城市添加到citySelect對象下面以后

當(dāng)?shù)诙芜x擇第二個省份的時候,第二個省份的下面的所有城市有會被追加到

citySelect節(jié)點(diǎn)下面。這樣的效果就錯了。所以要求在每次添加之前,要

對citySelect節(jié)點(diǎn)下面的內(nèi)容進(jìn)行清空。接著看:

==================刪除節(jié)點(diǎn)中已經(jīng)存在的元素===============

*/

}

}

</script>

</head>

<body>

<select onchange="provinceChanged(this);">

<!--this的含義:是指select對象調(diào)用provinceChanged(this),并且在此方法中

把對象本身作為參數(shù)傳遞,以便對其進(jìn)行操作。 -->

<option>請選擇省份</option>

<option>安徽</option>

<option>河北</option>

<option>河南</option>

</select>

<select id="select_city">

<option>請選擇城市</option>

</select>

</body>

</html>

更多信息請查看IT技術(shù)專欄

更多信息請查看網(wǎng)絡(luò)編程
由于各方面情況的不斷調(diào)整與變化,易賢網(wǎng)提供的所有考試信息和咨詢回復(fù)僅供參考,敬請考生以權(quán)威部門公布的正式信息和咨詢?yōu)闇?zhǔn)!
關(guān)于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 加入群交流 | 手機(jī)站點(diǎn) | 投訴建議
工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務(wù)許可證:(云)人服證字(2023)第0102001523號
云南網(wǎng)警備案專用圖標(biāo)
聯(lián)系電話:0871-65317125(9:00—18:00) 獲取招聘考試信息及咨詢關(guān)注公眾號:hfpxwx
咨詢QQ:526150442(9:00—18:00)版權(quán)所有:易賢網(wǎng)
云南網(wǎng)警報警專用圖標(biāo)