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長(zhǎng)度為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>

以上就是本文的全部?jī)?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)文章
原生js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)簡(jiǎn)易計(jì)算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
uniapp實(shí)現(xiàn)滑動(dòng)評(píng)分效果
這篇文章主要為大家詳細(xì)介紹了uniapp實(shí)現(xiàn)滑動(dòng)評(píng)分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
bootstrap基礎(chǔ)知識(shí)學(xué)習(xí)筆記
這篇文章主要針對(duì)bootstrap基礎(chǔ)知識(shí)為大家整理了詳細(xì)的學(xué)習(xí)筆記,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
JavaScript使用canvas實(shí)現(xiàn)flappy bird全流程詳解
這篇文章主要介紹了JavaScript使用canvas實(shí)現(xiàn)flappy bird流程,canvas是HTML5提供的一種新標(biāo)簽,它可以支持JavaScript在上面繪畫,控制每一個(gè)像素,它經(jīng)常被用來制作小游戲,接下來我將用它來模仿制作一款叫flappy bird的小游戲2023-03-03
JS實(shí)現(xiàn)區(qū)分中英文并統(tǒng)計(jì)字符個(gè)數(shù)的方法示例
這篇文章主要介紹了JS實(shí)現(xiàn)區(qū)分中英文并統(tǒng)計(jì)字符個(gè)數(shù)的方法,涉及JavaScript事件響應(yīng)、正則匹配及數(shù)值運(yùn)算相關(guān)操作技巧,需要的朋友可以參考下2018-06-06
JS實(shí)現(xiàn)網(wǎng)頁頂部向下滑出的全國城市切換導(dǎo)航效果
這篇文章主要介紹了JS實(shí)現(xiàn)網(wǎng)頁頂部向下滑出的全國城市切換導(dǎo)航效果,涉及javascript鼠標(biāo)事件及頁面元素顯示的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08

