JavaScript实现三级联动菜单效果


Posted in Javascript onAugust 16, 2017

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

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;
  }
 }
 }

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

Javascript 相关文章推荐
jquery导航制件jquery鼠标经过变色效果示例
Dec 05 Javascript
JS实现漂亮的窗口拖拽效果(可改变大小、最大化、最小化、关闭)
Oct 10 Javascript
Perl Substr()函数及函数的应用
Dec 16 Javascript
javascript原生ajax写法分享
Apr 10 Javascript
浅析jQuery Ajax通用js封装
Jun 22 Javascript
Validform表单验证总结篇
Oct 31 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
详解AngularJS1.6版本中ui-router路由中/#!/的解决方法
May 22 Javascript
Angular Material Icon使用详解
Nov 07 Javascript
过滤器vue.filters的使用方法实现
Sep 18 Javascript
解决vue的过渡动画无法正常实现问题
Oct 31 Javascript
JavaScript实现拖拽盒子效果
Feb 06 Javascript
ionic3 懒加载
Aug 16 #Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 #Javascript
理解 Node.js 事件驱动机制的原理
Aug 16 #Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 #Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
Aug 16 #Javascript
vue实现留言板todolist功能
Aug 16 #Javascript
Angularjs中的验证input输入框只能输入数字和小数点的写法(推荐)
Aug 16 #Javascript
You might like
10个实用的PHP代码片段
2011/09/02 PHP
PHPThumb PHP 图片缩略图库
2012/03/11 PHP
PHP多文件上传实例
2015/07/09 PHP
JQuery 构建客户/服务分离的链接模型中Table中的排序分析
2010/01/22 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
用示例说明filter()与find()的用法以及children()与find()的区别分析
2013/04/26 Javascript
Jquery中$.get(),$.post(),$.ajax(),$.getJSON()的用法总结
2013/11/14 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
2014/02/10 Javascript
jQuery的观察者模式详解
2014/12/22 Javascript
JavaScript模板引擎用法实例
2015/07/10 Javascript
js实现的下拉框二级联动效果
2016/04/30 Javascript
如何使用Bootstrap 按钮实例详解
2017/03/29 Javascript
使用react-router4.0实现重定向和404功能的方法
2017/08/28 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
vue实现移动端H5数字键盘组件使用详解
2020/08/25 Javascript
uniapp实现可滑动选项卡
2020/10/21 Javascript
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
浅谈Tensorflow由于版本问题出现的几种错误及解决方法
2018/06/13 Python
Django保护敏感信息的方法示例
2019/05/09 Python
TensorFlow2.X使用图片制作简单的数据集训练模型
2020/04/08 Python
python 实现围棋游戏(纯tkinter gui)
2020/11/13 Python
UGG澳洲官网:UGG Australia
2018/04/26 全球购物
英国时尚女装购物网站:Missguided
2018/08/23 全球购物
求两个数的乘积和商数,该作用由宏定义来实现
2013/03/13 面试题
总经理岗位职责描述
2014/02/08 职场文书
出纳试用期自我鉴定
2014/04/07 职场文书
汽车运用工程专业求职信
2014/06/18 职场文书
爬山的活动方案
2014/08/16 职场文书
个人租房协议书(范本)
2014/10/14 职场文书
初中教师德育工作总结2015
2015/05/12 职场文书
女方离婚起诉书
2015/05/18 职场文书
2017公司年会主持人开幕词
2016/03/04 职场文书
Python机器学习之决策树和随机森林
2021/07/15 Javascript
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电