JavaScript实现三级联动菜单效果

发布时间 - 2026-01-11 02:49:00    点击率:

三级联动考察的应该是对于数据的处理,只要清楚其中的关系,再多几级都是一样的:

html部分:

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8" />
 <title>3级联动菜单</title>
 <script>
 var region = {
  广东:
  {
  "广州":["广州1","广州2","广州3"],

  "珠海":["珠海1","珠海2","珠海3"],

  "佛山":["佛山1"]
  },
  湖南:
  {
  "常德":["石门","桃源","临澧","汉寿"],

  "益阳":["益阳1","益阳2","益阳3"]
  }
 }
 </script>
</head>
 <body>

 <select id="province" onchange="change(this.value);">
  <option>请选择省份</option>
 </select>

 <select id="city" onchange="countyChange(this.value);">
  <option>请选择地市</option>
 </select>

 <select id="county">
  <option>请选择县城</option>
 </select>
 <script src='test.js'></script>
 </body>
</html>

js部分:

var province = document.querySelector("#province");
 var city = document.querySelector("#city");
 var county = document.querySelector("#county");
 //二级联动不用定义你选的省份,直接用省份(key)来决定下面的市(value)值
 var provinceName = null;

 for (ele in region){
 var op = new Option(ele , ele , false , false); //new Option("文本","值",true,true).后面两个true分别表示默认被选中和有效
 //console.log(op);
 province.options[province.length] = op;
 }

 var change = function(src){
 city.innerHTML = "";
 if(src === '请选择省份'){
  var op = new Option('请选择地市' , '请选择地市' , false , false);
  city.options[0] = op;
 }else{
  for (index in region[src]){
  //console.log(index);
  var op = new Option(index , index , false , false);
  city.options[city.length] = op;
  }
 }
 //记住选择省份的值
 provinceName=src;
 countyChange(city.value)
 }

 var countyChange = function(src2){
 county.innerHTML = "";
 if(src2 === '请选择地市'){
  var op = new Option('请选择县城','请选择县城', false , false);
  county.options[0] = op;
 }else{
  for (index in region[provinceName][src2]){
  //console.log(index);
  var op = new Option(region[provinceName][src2][index] , region[provinceName][src2][index] , false , false);
  county.options[county.length] = op;
  }
 }
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js三级联动菜单  # js三级菜单  # js联动菜单  # JS实多级联动下拉菜单类  # 简单实现省市区联动菜单!  # jsp从数据库获取数据填充下拉框实现二级联动菜单的方法  # js实现简单的联动菜单效果  # JS简单实现多级Select联动菜单效果代码  # 实例详解AngularJS实现无限级联动菜单  # 从QQ网站中提取的纯JS省市区三级联动菜单  # 基于Javascript实现二级联动菜单效果  # JS实现的五级联动菜单效果完整实例  # PHP+JS三级菜单联动菜单实现方法  # JavaScript实现联动菜单特效  # 请选择  # 益阳  # 珠海  # 广州  # 佛山  # 临澧  # 汉寿  # 常德  # 湖南  # 广东  # 再多  # 大家多多  # 应该是  # 级联  # 是一样的  # title  # script  # charset  # utf  # meta 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: iOS中将个别页面强制横屏其他页面竖屏  如何快速登录WAP自助建站平台?  Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程  如何快速搭建高效WAP手机网站吸引移动用户?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  jQuery中的100个技巧汇总  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何与Inertia.js和Vue/React构建现代单页应用  Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】  Laravel怎么实现搜索高亮功能_Laravel结合Scout与Algolia全文检索【实战】  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  iOS正则表达式验证手机号、邮箱、身份证号等  如何快速搭建高效香港服务器网站?  如何快速查询网址的建站时间与历史轨迹?  重庆市网站制作公司,重庆招聘网站哪个好?  Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】  Laravel怎么调用外部API_Laravel Http Client客户端使用  如何确认建站备案号应放置的具体位置?  Win11怎样安装网易有道词典_Win11安装词典教程【步骤】  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  香港服务器部署网站为何提示未备案?  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  文字头像制作网站推荐软件,醒图能自动配文字吗?  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  香港服务器选型指南:免备案配置与高效建站方案解析  如何在万网主机上快速搭建网站?  Linux虚拟化技术教程_KVMQEMU虚拟机安装与调优  如何在腾讯云免费申请建站?  WordPress 子目录安装中正确处理脚本路径的完整指南  Laravel如何发送系统通知?(Notification渠道示例)  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  公司门户网站制作流程,华为官网怎么做?  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  Laravel如何使用withoutEvents方法临时禁用模型事件  php 三元运算符实例详细介绍  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  济南网站建设制作公司,室内设计网站一般都有哪些功能?  Bootstrap CSS布局之列表  Laravel如何使用缓存系统提升性能_Laravel缓存驱动和应用优化方案  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  JavaScript中的标签模板是什么_它如何扩展字符串功能  新三国志曹操传主线渭水交兵攻略  如何在阿里云虚拟主机上快速搭建个人网站?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何在Windows虚拟主机上快速搭建网站?  Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】