JavaScript实现select下拉菜单省份和城市的级联菜单
使用JavaScript中变量定义省份及对应的城市,应用select标签对象,实现二级级联的下拉菜单选中效果。即在省份下拉菜单中选中一个省份时,在城市下拉菜单中出现该省份对应的城市。
HTML代码:
-
<div class="choosecity">
-
<p>选择所在的省份及城市</p>
-
省份:<select id="province"></select>
-
城市:<select id="city">
-
<option value="">---请选择---</option></select>
-
</div>
JavaScript代码:
1、定义数组存储省份数据和城市数据 注:这里城市的数组下标使用的是省份名称
-
var provinceArr = ['北京市','天津市','上海市','重庆市','河北省','山西省','辽宁省','吉林省'];
-
var cityArr = new Array();
-
cityArr['北京市'] = ['北京市'];
-
cityArr['天津市'] = ['天津市'];
-
cityArr['上海市'] = ['上海市'];
-
cityArr['重庆市'] = ['重庆市'];
-
cityArr['河北省'] = ['石家庄市','张家口市','承德市','唐山市','秦皇岛市','廊坊市','保定市','沧州市','衡水市','邢台市','邯郸市'];
-
cityArr['山西省'] = ['太原市','大同市','朔州市','忻州市','阳泉市','晋中市','吕梁市','长治市','临汾市','晋城市','运城市'];
-
cityArr['辽宁省'] = ['沈阳市','铁岭市','阜新市','抚顺市','朝阳市','本溪市','辽阳市','鞍山市','盘锦市','锦州市','葫芦岛市','营口市','丹东市','大连市'];
-
cityArr['吉林省'] = ['长春市','白城市','松原市','吉林市','四平市','辽源市','白山市','通化市'];
2、定义函数:显示省份 注:这里使用立即执行函数 页面加载时就显示数据
-
(function displayProvince(){
-
// 使用循环将省份显示到下拉菜单中
-
for(let i = 0;i<provinceArr.length;i ){
-
// 获取省份select控件
-
let province = document.querySelector('#province');
-
// 注册onchange事件:当省份发生改变 后面的城市也跟着变化
-
province.onchange = displayCity;
-
// 创建option节点
-
let option = document.createElement('option');
-
// 创建文本节点
-
let pro = document.createTextNode(provinceArr[i]);
-
// 将文本节点添加到option中
-
option.appendChild(pro);
-
// 将option追加到select中
-
province.appendChild(option);
-
}
-
// 调用显示城市函数,让该方法也立即执行
-
displayCity();
-
})()
3、定义函数:显示城市
-
function displayCity(){
-
// 获取城市select控件
-
let city = document.querySelector('#city');
-
// 先将option数据清空
-
city.options.length = 1;
-
// 获取省份中的value值
-
let provice = document.querySelector('#province').value;
-
// 循环添加省份所对应的城市
-
for(let i = 0;i<cityArr[provice].length;i ){
-
// 创建option节点
-
let option = document.createElement('option');
-
// 创建文本节点
-
let citytxt = document.createTextNode(cityArr[provice][i]);
-
// 将文本节点添加到option中
-
option.appendChild(citytxt);
-
// 将option追加到select中
-
city.appendChild(option);
-
}
-
}
最终实现效果:
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghebea
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13