js实现三级联动效果(简单易懂)


Posted in Javascript onMarch 27, 2017

话不多说,请看代码:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
  <title></title>
</head>
<body>
<select id="one">
  <option>请输入省份</option>
</select>
<select id="two">
  <option>请输入市</option>
</select>
<select id="three">
  <option>请输入区</option>
</select>
<script type="text/javascript">
  var oone=document.getElementById("one");
  var otwo=document.getElementById("two");
  var three=document.getElementById("three");
  var str='';
  otwo.disabled=true;
  three.disabled=true;
  var arr1=[{"id":"1","value":"北京"},{"id":"2","value":"上海"},{"id":"3","value":"重庆"},{"id":"4","value":"天津"},{"id":"5","value":"山东"}];
  for(var i=0;i<arr1.length;i++){
    str+="<option value="+arr1[i].id+">"+arr1[i].value+"</option>"
  }
  oone.innerHTML=str;
  var arr2 = {
    '1':['101@北京'],
    '2':['201@上海'],
    '3':['301@重庆'],
    '4':['401@天津'],
    '5':['501@济南','502@青岛']  };
  oone.onchange=function(){
    var val=this.value;
    var arrA = arr2[val];
    var str1='<option>请输入市</option>';
    for(var j=0;j<arrA.length;j++){
      var aaa=arrA[j].split('@');
      str1+="<option value="+aaa[0]+">"+aaa[1]+"</option>"
    }
    otwo.innerHTML=str1;
    otwo.disabled=false;
    three.innerHTML='<option>请输入区</option>';
    three.disabled='disabled';
  }
  var arr3 = {
    '101':['朝阳区','昌平区'],
    '201':['宝山区','浦东区'],
    '301':['不知道'],
    '401':['真的不知道'],
    '501':['市中区','历下区','槐荫区'],
    '502':['市南区','市北区','崂山区']  };
  otwo.onchange = function(){
    var val=this.value;
    console.log( this.value);
    var str2='<option>请输入区</option>';
    console.log(val)
    for(var l=0;l<arr3[val].length;l++){
      str2+="<option >"+arr3[val][l]+"</option>"
    }
    three.innerHTML=str2;
    three.disabled=false;
  }
</script>
</body>
</html>

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持三水点靠木!

Javascript 相关文章推荐
从JavaScript的函数重名看其初始化方式
Mar 08 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
Sep 29 Javascript
详解Node.js模块间共享数据库连接的方法
May 24 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
jQuery插件HighCharts绘制2D柱状图、折线图的组合双轴图效果示例【附demo源码下载】
Mar 09 Javascript
ES6生成器用法实例分析
Apr 10 Javascript
JS ES6中setTimeout函数的执行上下文示例
Apr 27 Javascript
JS中获取 DOM 元素的绝对位置实例详解
Apr 23 Javascript
如何能分清npm cnpm npx nvm
Jan 17 Javascript
vue之延时刷新实例
Nov 14 Javascript
JavaScript ECMA-262-3 深入解析(二):变量对象实例详解
Apr 25 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
Jul 21 Javascript
JS数组去重(4种方法)
Mar 27 #Javascript
JS实现隔行换色的表格排序
Mar 27 #Javascript
JavaScript实现获取远程的html到当前页面中
Mar 26 #Javascript
axios学习教程全攻略
Mar 26 #Javascript
js oncontextmenu事件使用详解
Mar 25 #Javascript
js 函数式编程学习笔记
Mar 25 #Javascript
CodeMirror js代码加亮使用总结
Mar 25 #Javascript
You might like
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
关于PHP转换超过2038年日期出错的问题解决
2017/06/28 PHP
面向对象的Javascript之三(封装和信息隐藏)
2012/01/27 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
Javascript模块化编程详解
2014/12/01 Javascript
jQuery.Highcharts.js绘制柱状图饼状图曲线图
2015/03/14 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
javascript实现无法关闭的弹框
2016/11/27 Javascript
JS实现禁止用户使用Ctrl+鼠标滚轮缩放网页的方法
2017/04/28 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
2017/12/24 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
收集前端面试题之url、href、src
2018/03/22 Javascript
微信小程序实现点赞、取消点赞功能
2018/11/02 Javascript
关于JSON解析的实现过程解析
2019/10/08 Javascript
基于JavaScript获取url参数2种方法
2020/04/17 Javascript
基于vue实现简易打地鼠游戏
2020/08/21 Javascript
JS+CSS实现炫酷光感效果
2020/09/05 Javascript
Python+Django在windows下的开发环境配置图解
2009/11/11 Python
使用Python生成随机密码的示例分享
2016/02/18 Python
Python实现中文数字转换为阿拉伯数字的方法示例
2017/05/26 Python
Python引用传值概念与用法实例小结
2017/10/07 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
Django 自定义分页器的实现代码
2019/11/24 Python
如何使用python自带IDLE的几种方法
2020/10/10 Python
CSS3 transforms应用于背景图像的解决方法
2019/04/16 HTML / CSS
师范生的个人求职信范文
2014/01/04 职场文书
革命先烈的英雄事迹材料
2014/02/15 职场文书
国际语言毕业生求职信
2014/07/08 职场文书
南京市纪委监察局整改方案
2014/09/16 职场文书
先进工作者个人总结
2015/02/15 职场文书
2016年春节问候语
2015/11/11 职场文书
Pytest中conftest.py的用法
2021/06/27 Python
SpringBoot整合RabbitMQ的5种模式实战
2021/08/02 Java/Android
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js