JavaScript實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)效果
三級(jí)聯(lián)動(dòng):就是平時(shí)網(wǎng)頁(yè)上需要選擇的省市縣對(duì)應(yīng)位置的下拉欄模塊,當(dāng)選擇好省位置后市的下拉欄更新為已選省的,縣類似。
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>三級(jí)聯(lián)動(dòng)</title> </head> <body> <select id="sheng"> <option value="">-請(qǐng)選擇-</option><!--先創(chuàng)建三個(gè)下拉欄,分別對(duì)應(yīng) 省 市 縣--> </select> <select id="shi"> <option value="">-請(qǐng)選擇-</option> </select> <select id="xian"> <option value="">-請(qǐng)選擇-</option> </select> <script> var osheng=document.getElementById("sheng"); var oshi=document.getElementById("shi"); var oxian=document.getElementById("xian"); var arr_sheng=["陜西省","云南省","四川省","山西省"];<!--創(chuàng)建一個(gè)一維數(shù)組,存入省的值--> var arr_shi=[<!--創(chuàng)建一個(gè)二維數(shù)組,最外層每一個(gè)元素對(duì)應(yīng)省--> ["西安市","咸陽(yáng)市","寶雞市","渭南市"],<!--數(shù)組中的第一個(gè)元素內(nèi)又定義一個(gè)數(shù)組存的市的值--> ["昆明市","大理市","麗江市","西雙版納市"], ["樂(lè)山市","成都市","大同市","高新市"], ["太原市","屏顯市","樂(lè)寶市","李偉市"] ]; var arr_xian=[<!--創(chuàng)建一個(gè)三維數(shù)組,最外層每一個(gè)元素(對(duì)應(yīng)?。?-> [<!--數(shù)組中定義四個(gè)數(shù)組(對(duì)應(yīng)市)--> ["西安縣1","西安縣2"],["咸陽(yáng)市1","咸陽(yáng)市2"],["寶雞市1","寶雞市2"],["渭南市1","渭南市2"] ],<!--數(shù)組中定義兩個(gè)元素(對(duì)應(yīng)縣)--> [ ["昆明市1","昆明市2"],["大理市1","大理市2"],["麗江市1","麗江市2"],["西雙版納市1","西雙版納市2"] ], [ ["樂(lè)山市1","樂(lè)山市2"],["成都市1","成都市2"],["大同市1","大同市2"],["高新市1","高新市2"] ], [ ["太原市1","太原市2"],["屏顯市1","屏顯市2"],["樂(lè)寶市1","樂(lè)寶市2"],["李偉市1","李偉市2"] ] ]; var quanju_arr;//創(chuàng)建一個(gè)全局對(duì)象,用于存儲(chǔ)一個(gè)中間數(shù)組 function input_arr(arr,event){//封裝一個(gè)函數(shù),用于向下拉欄中添加元素 for(var i=0;i<arr.length;i++){//下拉欄內(nèi)的元素來(lái)源于數(shù)組中的元素,遍歷數(shù)組 var option=new Option(arr[i],i);//創(chuàng)建Option對(duì)象(這個(gè)O要大寫(xiě)),存入值 event.appendChild(option);//把option添加到event對(duì)象的末尾 } } input_arr(arr_sheng,osheng);//調(diào)用,給省下拉欄添元素 osheng.onchange= function () {//給下拉欄綁定事件(當(dāng)下拉欄元素改變時(shí)執(zhí)行) oshi.options.length=1;//當(dāng)省下拉欄改變時(shí),清空市的下拉欄內(nèi)元素 oxian.options.length=1;//當(dāng)省下拉欄改變時(shí),清空縣的下拉欄內(nèi)元素 var index=this.value;//每一個(gè)option標(biāo)簽都有一個(gè)value值索引,獲取索引,用于數(shù)組中元素的選擇 var arr_shi_next=arr_shi[index];//獲取當(dāng)前選擇省的市元素并賦給一個(gè)數(shù)組 quanju_arr=arr_xian[index];//獲取當(dāng)前選擇省中市的縣元素并賦給定義的中間數(shù)組 input_arr(arr_shi_next,oshi);//調(diào)用,給市下拉欄添元素 } oshi.onchange= function () { oxian.options.length=1; var index=this.value; var arr_xian_next=quanju_arr[index]; input_arr(arr_xian_next,oxian);//調(diào)用,給縣下拉欄添元素 } </script> </body> </html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- PHP+Mysql+Ajax+JS實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)
- JS制作簡(jiǎn)單的三級(jí)聯(lián)動(dòng)
- jquery+json 通用三級(jí)聯(lián)動(dòng)下拉列表
- 省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單javascript版
- js實(shí)現(xiàn)一個(gè)省市區(qū)三級(jí)聯(lián)動(dòng)選擇框代碼分享
- javascript實(shí)現(xiàn)省市區(qū)三級(jí)聯(lián)動(dòng)下拉框菜單
- ASP+JS三級(jí)聯(lián)動(dòng)下拉菜單[調(diào)用數(shù)據(jù)庫(kù)數(shù)據(jù)]
- 從QQ網(wǎng)站中提取的純JS省市區(qū)三級(jí)聯(lián)動(dòng)菜單
- asp.net省市三級(jí)聯(lián)動(dòng)的DropDownList+Ajax的三種框架(aspnet/Jquery/ExtJs)示例
- jQuery+jsp實(shí)現(xiàn)省市縣三級(jí)聯(lián)動(dòng)效果(附源碼)
相關(guān)文章
IE和Firefox在JavaScript應(yīng)用中的兼容性探討
今天在使用CSS屬性的時(shí)候發(fā)現(xiàn)"cursor:hand;"在Firefox中鼠標(biāo)不會(huì)變?yōu)槭中?,后?lái)上網(wǎng)搜索了一下資料,發(fā)現(xiàn)hand這個(gè)cursor屬性在Firrefox中不兼容,使用"cursor:pointer"就都可以顯示了。2008-04-04JS實(shí)現(xiàn)駝峰字符串轉(zhuǎn)下劃線字符串的三種方法
這篇文章主要介紹了js下劃線和駝峰互相轉(zhuǎn)換的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2023-11-11ie下$.getJSON出現(xiàn)問(wèn)題的解決方法
ie下$.getJSON出現(xiàn)問(wèn)題是常有的事,下面為大家介紹下具體該如何解決,需要的朋友可以參考下2014-02-02Bootstrap每天必學(xué)之滾動(dòng)監(jiān)聽(tīng)
Bootstrap每天必學(xué)之滾動(dòng)監(jiān)聽(tīng),對(duì)Bootstrap滾動(dòng)監(jiān)聽(tīng)感興趣的小伙伴們可以參考一下2016-03-03JavaScript判斷圖片是否已經(jīng)加載完畢的方法匯總
在網(wǎng)上有很多關(guān)于判斷圖片是否已經(jīng)加載完畢的文章,但是有的瀏覽器并不適合,下面小編給大家分享一些有關(guān)JavaScript判斷圖片是否已經(jīng)加載完畢的方法匯總,需要的朋友參考下2016-02-02JS拖拽排序插件Sortable.js用法實(shí)例分析
這篇文章主要介紹了JS拖拽排序插件Sortable.js用法,結(jié)合實(shí)例形式分析了拖拽排序插件Sortable.js功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2019-02-02