JavaScript簡(jiǎn)單下拉菜單特效
本文實(shí)例為大家分享了js下拉菜單特效,供大家參考,具體內(nèi)容如下
實(shí)例1:聯(lián)動(dòng)的省市下拉菜單
onchange 事件會(huì)在域的內(nèi)容改變時(shí)發(fā)生。
<script type="text/javascript"> var arr = new Array(); //數(shù)據(jù)數(shù)組 //定義數(shù)據(jù),結(jié)構(gòu)為:id、名字、父id arr[arr.length] = [1, '北京市', null]; arr[arr.length] = [2, '四川省', null]; arr[arr.length] = [3, '廣東省', null]; arr[arr.length] = [4, '北京市', 1]; arr[arr.length] = [5, '成都市', 2]; arr[arr.length] = [6, '廣州市', 3]; arr[arr.length] = [7, '深圳市', 3]; //動(dòng)態(tài)設(shè)置下拉項(xiàng)目 function fillOptions(type){ if(type == 'province'){ //獲取省份下拉菜單的DOM var province = document.getElementById("province"); province.innerHTML = ''; //內(nèi)容先置空 //填充省的字符 var proStr = '<option value=""></option>'; //遍歷數(shù)組 for(var i=0; i<arr.length; i++){ var item = arr[i]; //當(dāng)前項(xiàng) //如果沒(méi)有父id,則是省份 if(item[2] == null) proStr += '<option value='+item[0]+'>'+item[1]+'</option>'; } province.innerHTML = proStr;//填充新內(nèi)容 }else if(type == 'city'){ //獲取當(dāng)前的省份的id var currProId = document.getElementById("province").value; if(currProId == '') return false; //獲取城市下拉菜單的DOM var city = document.getElementById("city"); city.innerHTML = ''; //內(nèi)容先置空 //填充市的字符 var cityStr = '<option value=""></option>'; //遍歷數(shù)組 for(var i=0; i<arr.length; i++){ var item = arr[i]; //當(dāng)前項(xiàng) //判斷是否為當(dāng)前省下的城市 if(item[2] == currProId) cityStr += '<option value='+item[0]+'>'+item[1]+'</option>'; } city.innerHTML = cityStr ;//填充新內(nèi)容 } } </script> <body style="text-align:center;" onload="fillOptions('province');"> <!-- 定義下拉菜單 --> 省:<select id="province" onchange="fillOptions('city')"></select><br/><br/> 市:<select id="city"></select><br/><br/> </body>
實(shí)例2:三級(jí)聯(lián)動(dòng)的省市縣下拉菜單
<script type="text/javascript"> var arr = new Array(); //數(shù)據(jù)數(shù)組 //定義數(shù)據(jù),結(jié)構(gòu)為:id、名字、父id arr[arr.length] = [1, '北京市', null]; arr[arr.length] = [2, '四川省', null]; arr[arr.length] = [3, '廣東省', null]; arr[arr.length] = [4, '北京市', 1]; arr[arr.length] = [5, '成都市', 2]; arr[arr.length] = [6, '廣州市', 3]; arr[arr.length] = [7, '深圳市', 3]; arr[arr.length] = [8, '武侯區(qū)', 5]; arr[arr.length] = [9, '青羊區(qū)', 5]; arr[arr.length] = [10, '白云區(qū)', 6]; arr[arr.length] = [11, '增城市', 6]; arr[arr.length] = [12, '從化市', 6]; //動(dòng)態(tài)設(shè)置下拉項(xiàng)目 function fillOptions(type){ if(type == 'province'){ //獲取省份下拉菜單的DOM var province = document.getElementById("province"); province.innerHTML = ''; //內(nèi)容先置空 //填充省的字符 var proStr = '<option value=""></option>'; for(var i=0; i<arr.length; i++){ //遍歷數(shù)組 var item = arr[i]; //當(dāng)前項(xiàng) //如果沒(méi)有父id,則是省份 if(item[2] == null) proStr += '<option value='+item[0]+'>'+item[1]+'</option>'; } province.innerHTML = proStr; //填充新內(nèi)容 }else if(type == 'city'){ //獲取當(dāng)前的省份的id var currProId = document.getElementById("province").value; if(currProId == '') return false; //獲取城市下拉菜單的DOM var city = document.getElementById("city"); city.innerHTML = ''; //內(nèi)容先置空 //填充市的字符 var cityStr = '<option value=""></option>'; for(var i=0; i<arr.length; i++){ //遍歷數(shù)組 var item = arr[i]; //當(dāng)前項(xiàng) //判斷是否為當(dāng)前省下的城市 if(item[2] == currProId) cityStr += '<option value='+item[0]+'>'+item[1]+'</option>'; } city.innerHTML = cityStr ;//填充新內(nèi)容 }else if(type == 'area'){ //獲取當(dāng)前城市的id var currCityId = document.getElementById("city").value; if(currCityId == '') return false; //獲取區(qū)縣下拉菜單的DOM var area = document.getElementById("area"); area.innerHTML = ''; //內(nèi)容先置空 //填充區(qū)縣的字符 var areaStr = '<option value=""></option>'; for(var i=0; i<arr.length; i++){ //遍歷數(shù)組 var item = arr[i]; //當(dāng)前項(xiàng) //判斷是否為當(dāng)前城市下的區(qū)縣 if(item[2] == currCityId) areaStr += '<option value='+item[0]+'>'+item[1]+'</option>'; } area.innerHTML = areaStr; //填充新內(nèi)容 } } </script> <body style="text-align:center;" onload="fillOptions('province');"> <!-- 定義下拉菜單 --> ?。?lt;select id="province" onchange="fillOptions('city')"></select><br/><br/> 市:<select id="city" onchange="fillOptions('area')"></select><br/><br/> 縣/區(qū):<select id="area"></select><br/><br/> </body>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 純css下拉菜單 無(wú)需js
- 全國(guó)省市二級(jí)聯(lián)動(dòng)下拉菜單 js版
- JS組件Bootstrap實(shí)現(xiàn)下拉菜單效果代碼
- js實(shí)現(xiàn)select二級(jí)聯(lián)動(dòng)下拉菜單
- Extjs實(shí)現(xiàn)下拉菜單效果
- javascript仿京東導(dǎo)航左側(cè)分類(lèi)導(dǎo)航下拉菜單效果
- 使用Javascript實(shí)現(xiàn)選擇下拉菜單互移并排序
- JavaScript實(shí)現(xiàn)下拉菜單的顯示和隱藏
- javascript手風(fēng)琴下拉菜單實(shí)現(xiàn)代碼
- JavaScript 下拉菜單實(shí)現(xiàn)代碼
相關(guān)文章
JavaScript最完整的深淺拷貝實(shí)現(xiàn)方式詳解
這篇文章主要為大家詳細(xì)介紹了JavaScript最完整的深淺拷貝實(shí)現(xiàn)方式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-02-02Js逆向?qū)崿F(xiàn)滑動(dòng)驗(yàn)證碼圖片還原的示例代碼
這篇文章主要介紹了Js逆向?qū)崿F(xiàn)滑動(dòng)驗(yàn)證碼圖片還原的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03js實(shí)現(xiàn)無(wú)需數(shù)據(jù)庫(kù)的縣級(jí)以上聯(lián)動(dòng)行政區(qū)域下拉控件
縣級(jí)以上聯(lián)動(dòng)行政區(qū)域下拉控件,想必大家對(duì)此也有所熟悉,本文為大家介紹下使用js實(shí)現(xiàn)無(wú)需數(shù)據(jù)庫(kù)的聯(lián)動(dòng)下拉控件,感興趣的朋友可以參考下,希望對(duì)大家有所幫助2013-08-08Some tips of wmi scripting in jscript (1)
Some tips of wmi scripting in jscript (1)...2007-04-04js項(xiàng)目中雙向數(shù)據(jù)綁定的簡(jiǎn)單實(shí)現(xiàn)方法
雙向數(shù)據(jù)綁定指的就是,綁定對(duì)象屬性的改變到用戶(hù)界面的變化的能力,反之亦然,下面這篇文章主要給大家介紹了關(guān)于js項(xiàng)目中雙向數(shù)據(jù)綁定的簡(jiǎn)單實(shí)現(xiàn)方法,需要的朋友可以參考下2021-08-08uniApp獲取當(dāng)前位置經(jīng)緯度的示例代碼
這篇文章主要介紹了uniApp獲取當(dāng)前位置經(jīng)緯度,以下是使用uni.getLocation獲取當(dāng)前位置的示例代碼,需要的朋友可以參考下2024-01-01JavaScript中的垃圾回收與內(nèi)存泄漏示例詳解
這篇文章主要給大家介紹了關(guān)于JavaScript中垃圾回收與內(nèi)存泄漏的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05javascript實(shí)現(xiàn)相同事件名稱(chēng),不同命名空間的調(diào)用方法
這篇文章主要介紹了javascript實(shí)現(xiàn)相同事件名稱(chēng),不同命名空間的調(diào)用方法,涉及javascript命名空間及事件調(diào)用的技巧,需要的朋友可以參考下2015-06-06