JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)效果:
1.當(dāng)點(diǎn)擊文字時(shí)選中對(duì)應(yīng)的下拉菜單
2.選擇省,后面跟本省對(duì)應(yīng)的市
實(shí)現(xiàn)過程:
1.獲得省的Dom對(duì)象
2.用循環(huán)為省的下拉菜單設(shè)置option子節(jié)點(diǎn),并將數(shù)組每個(gè)pName的值賦給創(chuàng)建的子節(jié)點(diǎn)
3.每次循環(huán)同時(shí)為option子節(jié)點(diǎn)設(shè)置value屬性
4.同理在點(diǎn)擊省的同時(shí),為市創(chuàng)建option子節(jié)點(diǎn),并將cName的值賦給子節(jié)點(diǎn),設(shè)置屬性
實(shí)現(xiàn)細(xì)節(jié):
1. 點(diǎn)擊省時(shí)采用onchange事件(元素值改變時(shí)觸發(fā))
2. 每次為市增加節(jié)點(diǎn),要將節(jié)點(diǎn)清空,否則市的節(jié)點(diǎn)會(huì)疊加,可采用option長度為0, citySel.options.length = 0;
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .box{ width: 500px; padding: 20px; border: 1px solid #aaa; margin: 100px auto; } .box select{ width: 150px; margin: 10px; } </style> <script> var provs = [{"id":"01","pName":"河南省"},{"id":"02","pName":"河北省"},{"id":"03","pName":"四川省"}]; var citys = [{"id":"001","cName":"安陽市","pId":"01"},{"id":"002","cName":"鄭州市","pId":"01"},{"id":"003","cName":"新鄉(xiāng)市","pId":"01"},{"id":"004","cName":"邯鄲市","pId":"02"},{"id":"005","cName":"石家莊市","pId":"02"},{"id":"006","cName":"合肥市","pId":"02"},{"id":"007","cName":"廣陵市","pId":"03"},{"id":"008","cName":"成都市","pId":"03"},{"id":"009","cName":"重慶市","pId":"03"}]; function $(id){ return document.getElementById(id); } window.onload = function (){ var proSel = $('province'); for(var i = 0; i<provs.length; i++){ var Coption = document.createElement('option'); Coption.innerHTML = provs[i].pName; Coption.setAttribute('value',provs[i].id); proSel.appendChild(Coption); } proSel.onchange = function(){ var city =$('city'); var Pid = this.value; city.options.length = 0;//把Select的屬性清空 for(var i=0; i<citys.length; i++){ if(Pid == citys[i].pId){ var Noption = document.createElement('option'); Noption.innerHTML = citys[i].cName; Noption.setAttribute('value',citys[i].id); city.appendChild(Noption); } } } } </script> </head> <body> <div class="box"> 請(qǐng)選擇: <select id="province"> <option value="00">----請(qǐng)選擇----</option> </select><label for="province">省</label> <select id="city"> <option value="000">----請(qǐng)選擇----</option> </select><label for="city">市</label> </div> </body> </html>
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 基于JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)效果
- JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)過程中bug的解決方法
- 基于JS實(shí)現(xiàn)省市聯(lián)動(dòng)效果代碼分享
- js省市聯(lián)動(dòng)效果完整實(shí)例代碼
- JSON+HTML實(shí)現(xiàn)國家省市聯(lián)動(dòng)選擇效果
- JavaScript二維數(shù)組實(shí)現(xiàn)的省市聯(lián)動(dòng)菜單
- JavaScript省市聯(lián)動(dòng)實(shí)現(xiàn)代碼
- js實(shí)現(xiàn)省市聯(lián)動(dòng)效果的簡(jiǎn)單實(shí)例
- javascript 09年最新版的省市聯(lián)動(dòng)
- JavaScript實(shí)現(xiàn)簡(jiǎn)單省市聯(lián)動(dòng)
相關(guān)文章
給Flash加一個(gè)超鏈接(推薦使用透明層)兼容主流瀏覽器
給一個(gè)Flash加一個(gè)超鏈接,原想直接在object外直接套一個(gè)超鏈接即可,試了之后卻發(fā)現(xiàn)不是這么回事2013-06-06JS實(shí)現(xiàn)select選中option觸發(fā)事件操作示例
這篇文章主要介紹了JS實(shí)現(xiàn)select選中option觸發(fā)事件操作,結(jié)合實(shí)例形式總結(jié)分析了javascript針對(duì)select下拉選中option項(xiàng)觸發(fā)事件相關(guān)操作技巧,需要的朋友可以參考下2018-07-07javascript實(shí)現(xiàn)Email郵件顯示與刪除功能
這篇文章主要介紹了javascript實(shí)現(xiàn)Email郵件顯示與刪除功能,需要的朋友可以參考下2015-11-11JS中跨頁面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)
下面小編就為大家?guī)硪黄狫S中跨頁面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11javascript面向?qū)ο笾蚕沓蓡T屬性與方法及prototype關(guān)鍵字用法
這篇文章主要介紹了javascript面向?qū)ο笾蚕沓蓡T屬性與方法及prototype關(guān)鍵字用法,實(shí)例分析了prototype關(guān)鍵字在共享成員屬性與方法中的原理與使用技巧,需要的朋友可以參考下2015-01-01JS實(shí)現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)的表格行鼠標(biāo)點(diǎn)擊高亮效果代碼,涉及JavaScript響應(yīng)鼠標(biāo)事件動(dòng)態(tài)變換頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11ThingJS粒子特效一鍵實(shí)現(xiàn)雨雪效果
在做3D項(xiàng)目時(shí),我們經(jīng)常需要模擬下雨,下雪的天氣,有時(shí)也會(huì)模擬噴泉、著火等效果。這些效果需要使用名為粒子系統(tǒng)(particle)的技術(shù)來實(shí)現(xiàn)。使用ThingJS可以快速編寫粒子效果,本文就來看看如何實(shí)現(xiàn)2021-05-05