JavaScript實(shí)現(xiàn)簡(jiǎn)單省市聯(lián)動(dòng)
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)簡(jiǎn)單省市聯(lián)動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
步驟
* 創(chuàng)建一個(gè)頁(yè)面,有兩個(gè)下拉選擇框
* 在第一個(gè)下拉框里面有一個(gè)事件 :改變事件 onchange事件
- 方法add1(this.value);表示當(dāng)前改變的option里面的value值
* 創(chuàng)建一個(gè)二維數(shù)組,存儲(chǔ)數(shù)據(jù)
* 每個(gè)數(shù)組中第一個(gè)元素是國(guó)家名稱,后面的元素是國(guó)家里面的城市
*
1、遍歷二維數(shù)組
2、得到也是一個(gè)數(shù)組(國(guó)家對(duì)應(yīng)關(guān)系)
3、拿到數(shù)組中的第一個(gè)值和傳遞過來的值做比較
4、如果相同,獲取到第一個(gè)值后面的元素
5、得到city的select
6、添加過去(使用)appendChild方法
- 創(chuàng)建option(三步)
/*
由于每次都要向city里面添加option
第二次添加,會(huì)追加。
* 每次添加之前,判斷一下city里面是否有option,如果有,刪除
*/
代碼如下:
<html > <head> <title>省市聯(lián)動(dòng)</title> <style type = "text/css"> </style> </head> <body> <select id="countyid" onchange="add1(this.value)"> <option value="0">--請(qǐng)選擇--</option> <option value="中國(guó)">中國(guó)</option> <option value="美國(guó)">美國(guó)</option> <option value="英國(guó)">英國(guó)</option> <option value="日本">日本</option> </select> <select id="cityid" > </select> </body> <script type="text/javascript"> var arr = new Array(4); arr[0]=["中國(guó)","北京","上海","深圳","杭州"]; arr[1]=["美國(guó)","華盛頓","紐約","底特律","芝加哥"]; arr[2]=["英國(guó)","倫敦","伯明翰","利茲","利物浦"]; arr[3]=["日本","東京","大阪","北海道","長(zhǎng)崎"]; /* 步驟: 1.遍歷二維數(shù)組 2.得到一個(gè)數(shù)組-國(guó)家對(duì)應(yīng)關(guān)系 3.用數(shù)組中第一個(gè)值與傳遞過來的值作比較 4.如果相同,獲取到第一個(gè)值后面的元素 5.得到city的select 6.添加過去-appendChild方法 -創(chuàng)建option(三步) 由于每次都要向city里面添加option 第二次添加,會(huì)追加。 * 每次添加之前,判斷一下city里面是否有option,如果有,刪除 */ function add1(val){ //得到city里面的select var city1 = document.getElementById("cityid"); var ops = city1.getElementsByTagName("option"); for(var m=0;m<ops.length;m++){ var op = ops[m]; city1.removeChild(op); m--; } for(var i=0;i<arr.length;i++){ arr1=arr[i]; var firstValue = arr1[0]; if (firstValue == val) { //創(chuàng)建option for(var j=1;j<arr1.length;j++){ var value1 = arr1[j]; var option1=document.createElement("option"); var text1 = document.createTextNode(value1); option1.appendChild(text1); city1.appendChild(option1); } } } } </script> </html>
效果圖演示:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
淺談javascript:兩種注釋,聲明變量,定義函數(shù)
下面小編就為大家?guī)硪黄獪\談javascript:兩種注釋,聲明變量,定義函數(shù)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-10-10JS中的函數(shù)與對(duì)象的創(chuàng)建方式
這篇文章主要介紹了JS中的函數(shù)與對(duì)象的創(chuàng)建方式,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-05-05TypeScript的安裝、使用、自動(dòng)編譯的實(shí)現(xiàn)
TypeScript是一種由微軟開發(fā)的開源、跨平臺(tái)的編程語言。這篇文章主要介紹了TypeScript的安裝、使用、自動(dòng)編譯的實(shí)現(xiàn)方法,需要的朋友可以參考下2020-04-04微信小程序自定義navigationBar頂部導(dǎo)航欄適配所有機(jī)型(附完整案例)
這篇文章主要介紹了微信小程序自定義navigationBar頂部導(dǎo)航欄適配所有機(jī)型(附完整案例),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04JS實(shí)現(xiàn)html頁(yè)面點(diǎn)擊下載文件的兩種方式
這篇文章主要介紹了JS實(shí)現(xiàn)html頁(yè)面點(diǎn)擊下載文件的兩種方式,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07詳解JavaScript中的Object.is()與"==="運(yùn)算符總結(jié)
這篇文章主要介紹了詳解JavaScript中的Object.is()與"==="運(yùn)算符總結(jié),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06原生JS實(shí)現(xiàn)動(dòng)態(tài)加載js文件并在加載成功后執(zhí)行回調(diào)函數(shù)的方法
這篇文章主要介紹了原生JS實(shí)現(xiàn)動(dòng)態(tài)加載js文件并在加載成功后執(zhí)行回調(diào)函數(shù)的方法,涉及javascript動(dòng)態(tài)創(chuàng)建頁(yè)面元素、事件監(jiān)聽、回調(diào)函數(shù)使用等相關(guān)操作技巧,需要的朋友可以參考下2018-09-09