全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

原生JavaScript实现的简单省市县三级联动功能示例

本文实例讲述了原生JavaScript实现的简单省市县三级联动功能。分享给大家供大家参考,具体如下:

三级联动是我们写表单时必不可少的,比如在写收货地址时,就用到他了,最近在看原生JavaScript,从基础写起,待完善,以后再写个jquery版的

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>三级联动菜单</title>
<style>
select {
font-family: "萝莉体 第二版";
}
.hide {
display: none;
}
</style>
</head>
<body>
<div>
<select id="province">
<option>-请选择-</option>
</select>
<select id="city" class="hide">
<option>-请选择-</option>
</select>
<select id="area" class="hide">
<option>-请选择-</option>
</select>
</div>
<script>
var provinceList = ['北京市', '河北省', '浙江省'];
var cityList = [['东城区', '西城区', '海淀区'], ['廊坊市', '唐山市', '石家庄市', '承德市'], ['杭州市', '温州市', '宁波市', '嘉兴市', '绍兴市']];
var areasList = [
[
['东城区1', '东城区2', '东城区3'],
['西城区1', '西城区2', '西城区3'],
['海淀区1', '海淀区2', '海淀区3']
],
[
['廊坊市1', '廊坊市2', '廊坊市3', '廊坊市4'],
['唐山市1', '唐山市2', '唐山市3', '唐山市4'],
['石家庄市1', '石家庄市2', '石家庄市3', '石家庄市4'],
['承德市1', '承德市2', '承德市3', '承德市4']
],
[
['杭州市1', '杭州市2', '杭州市3', '杭州市4', '杭州市5'],
['温州市1', '温州市2', '温州市3', '温州市4', '温州市5'],
['宁波市1', '宁波市2', '宁波市3', '宁波市4', '宁波市5'],
['嘉兴市1', '嘉兴市2', '嘉兴市3', '嘉兴市4', '嘉兴市5'],
['绍兴市1', '绍兴市2', '绍兴市3', '绍兴市4', '绍兴市5']
]
];
//1.获取元素
var province = document.getElementById("province");
var city = document.getElementById("city");
var area = document.getElementById("area");
//2.给省的选择框赋值,
// ----使用自执行函数,避免污染全局变量-----
(function () {
for (var i = 0; i < provinceList.length; i++) {
var myOption = document.createElement("option");
myOption.innerHTML = provinceList[i];
//设置value值
myOption.value = i;
province.appendChild(myOption);
}
})();
//3.设置选择省的行为函数
province.onchange = function (e) {
city.style.display = "inline-block"; //设置第二个出现
while (city.children.length > 1) { //当省设置为“请选择”时,移除子元素
city.removeChild(city.lastElementChild);
}
while (area.children.length > 1) { //当市设置为“请选择”时,移除子元素
area.removeChild(area.lastElementChild);
}
if (cityList[this.value]) {//当设置为请选择时不显示列表
for (var i = 0; i < cityList[this.value].length; i++) { //添加市的列表
var myOption = document.createElement("option");
myOption.innerHTML = cityList[this.value][i];
//设置value值
myOption.value = i;
city.appendChild(myOption);
}
}
};
//4.设置选择市的行为函数
city.onchange = function (e) {
area.style.display = "inline-block"; //设置第二个出现
while (area.children.length > 1) { //当市设置为“请选择”时,移除子元素
area.removeChild(area.lastElementChild);
}
if (areasList[province.value][this.value]) {//当设置为"请选择"时不显示列表
for (var i = 0; i < areasList[province.value][this.value].length; i++) { //添加市的列表
var myOption = document.createElement("option");
myOption.innerHTML = areasList[province.value][this.value][i];
area.appendChild(myOption);
}
}
}
</script>
</body>
</html>

运行效果图如下:

更多关于JavaScript相关内容可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# JavaScript  # 省市县  # 三级联动  # PHP+Mysql+Ajax+JS实现省市区三级联动  # JS制作简单的三级联动  # jquery+json 通用三级联动下拉列表  # js实现一个省市区三级联动选择框代码分享  # 省市区三级联动下拉框菜单javascript版  # ASP+JS三级联动下拉菜单[调用数据库数据]  # 从QQ网站中提取的纯JS省市区三级联动菜单  # asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery  # jQuery+jsp实现省市县三级联动效果(附源码)  # js操纵跨frame的联动select下拉选项实例介绍  # 原生js三级联动的简单实现代码  # js实现简单的省市县三级联动效果实例  # 绍兴市  # 嘉兴市  # 承德市  # 廊坊市  # 温州市  # 宁波市  # 请选择  # 唐山市  # 杭州市  # 石家庄市  # 西城区  # 东城区  # 海淀区  # 设置为  # 移除  # 第二个  # 相关内容  # 河北省  # 遍历  # 浙江省 


相关文章: 制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  怀化网站制作公司,怀化新生儿上户网上办理流程?  网站制作报价单模板图片,小松挖机官方网站报价?  建站之星如何保障用户数据免受黑客入侵?  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  建站10G流量真的够用吗?如何应对访问高峰?  创业网站制作流程,创业网站可靠吗?  如何在云虚拟主机上快速搭建个人网站?  建站主机CVM配置优化、SEO策略与性能提升指南  网站好制作吗知乎,网站开发好学吗?有什么技巧?  MySQL查询结果复制到新表的方法(更新、插入)  网站制作免费,什么网站能看正片电影?  常州企业网站制作公司,全国继续教育网怎么登录?  如何通过IIS搭建网站并配置访问权限?  家具网站制作软件,家具厂怎么跑业务?  已有域名能否直接搭建网站?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站主机如何选?高性价比方案全解析  如何在建站主机中优化服务器配置?  婚礼视频制作网站,学习*后期制作的网站有哪些?  学校为何禁止电信移动建设网站?  如何快速搭建高效WAP手机网站吸引移动用户?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  陕西网站制作公司有哪些,陕西凌云电器有限公司官网?  安云自助建站系统如何快速提升SEO排名?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  Swift中循环语句中的转移语句 break 和 continue  官网网站制作腾讯审核要多久,联想路由器newifi官网  焦点电影公司作品,电影焦点结局是什么?  c++怎么用jemalloc c++替换默认内存分配器【性能】  官网自助建站平台指南:在线制作、快速建站与模板选择全解析  网站app免费制作软件,能免费看各大网站视频的手机app?  制作营销网站公司,淘特是干什么用的?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  ,柠檬视频怎样兑换vip?  用v-html解决Vue.js渲染中html标签不被解析的问题  如何在IIS7中新建站点?详细步骤解析  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  小建面朝正北,A点实际方位是否存在偏差?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  如何在万网ECS上快速搭建专属网站?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  较简单的网站制作软件有哪些,手机版网页制作用什么软件?  网站制作公司排行榜,四大门户网站排名?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  香港服务器选型指南:免备案配置与高效建站方案解析  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何通过PHP快速构建高效问答网站功能? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。