全网整合营销服务商

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

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

JavaScript实现三级联动效果

三级联动:就是平时网页上需要选择的省市县对应位置的下拉栏模块,当选择好省位置后市的下拉栏更新为已选省的,县类似。

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>三级联动</title>
</head>
<body>
<select id="sheng">
  <option value="">-请选择-</option><!--先创建三个下拉栏,分别对应 省 市 县-->
</select>

<select id="shi">
  <option value="">-请选择-</option>
</select>

<select id="xian">
  <option value="">-请选择-</option>
</select>
<script>
  var osheng=document.getElementById("sheng");
  var oshi=document.getElementById("shi");
  var oxian=document.getElementById("xian");

  var arr_sheng=["陕西省","云南省","四川省","山西省"];<!--创建一个一维数组,存入省的值-->

  var arr_shi=[<!--创建一个二维数组,最外层每一个元素对应省-->
    ["西安市","咸阳市","宝鸡市","渭南市"],<!--数组中的第一个元素内又定义一个数组存的市的值-->
    ["昆明市","大理市","丽江市","西双版纳市"],
    ["乐山市","成都市","大同市","高新市"],
    ["太原市","屏显市","乐宝市","李伟市"]
  ];

  var arr_xian=[<!--创建一个三维数组,最外层每一个元素(对应省)-->
      [<!--数组中定义四个数组(对应市)-->
        ["西安县1","西安县2"],["咸阳市1","咸阳市2"],["宝鸡市1","宝鸡市2"],["渭南市1","渭南市2"]
      ],<!--数组中定义两个元素(对应县)-->
      [
        ["昆明市1","昆明市2"],["大理市1","大理市2"],["丽江市1","丽江市2"],["西双版纳市1","西双版纳市2"]
      ],
      [
        ["乐山市1","乐山市2"],["成都市1","成都市2"],["大同市1","大同市2"],["高新市1","高新市2"]
      ],
      [
        ["太原市1","太原市2"],["屏显市1","屏显市2"],["乐宝市1","乐宝市2"],["李伟市1","李伟市2"]
      ]
  ];

  var quanju_arr;//创建一个全局对象,用于存储一个中间数组

  function input_arr(arr,event){//封装一个函数,用于向下拉栏中添加元素
    for(var i=0;i<arr.length;i++){//下拉栏内的元素来源于数组中的元素,遍历数组
      var option=new Option(arr[i],i);//创建Option对象(这个O要大写),存入值
      event.appendChild(option);//把option添加到event对象的末尾
    }
  }

  input_arr(arr_sheng,osheng);//调用,给省下拉栏添元素

  osheng.onchange= function () {//给下拉栏绑定事件(当下拉栏元素改变时执行)
    oshi.options.length=1;//当省下拉栏改变时,清空市的下拉栏内元素
    oxian.options.length=1;//当省下拉栏改变时,清空县的下拉栏内元素
    var index=this.value;//每一个option标签都有一个value值索引,获取索引,用于数组中元素的选择
    var arr_shi_next=arr_shi[index];//获取当前选择省的市元素并赋给一个数组
    quanju_arr=arr_xian[index];//获取当前选择省中市的县元素并赋给定义的中间数组
    input_arr(arr_shi_next,oshi);//调用,给市下拉栏添元素
  }

  oshi.onchange= function () {
    oxian.options.length=1;
    var index=this.value;
    var arr_xian_next=quanju_arr[index];
    input_arr(arr_xian_next,oxian);//调用,给县下拉栏添元素
  }
</script>
</body>
</html>

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


# JS  # 三级联动  # PHP+Mysql+Ajax+JS实现省市区三级联动  # JS制作简单的三级联动  # jquery+json 通用三级联动下拉列表  # 省市区三级联动下拉框菜单javascript版  # js实现一个省市区三级联动选择框代码分享  # javascript实现省市区三级联动下拉框菜单  # ASP+JS三级联动下拉菜单[调用数据库数据]  # 从QQ网站中提取的纯JS省市区三级联动菜单  # asp.net省市三级联动的DropDownList+Ajax的三种框架(aspnet/Jquery  # jQuery+jsp实现省市县三级联动效果(附源码)  # 大理市  # 丽江市  # 渭南市  # 咸阳市  # 乐山市  # 大同市  # 宝鸡市  # 太原市  # 西双版纳  # 昆明市  # 成都市  # 组中  # 创建一个  # 请选择  # 省下  # 西安  # 应县  # 栏内  # 清空  # 西安市 


相关文章: 如何安全更换建站之星模板并保留数据?  如何快速生成ASP一键建站模板并优化安全性?  如何快速搭建响应式可视化网站?  Swift中switch语句区间和元组模式匹配  企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  建站主机如何安装配置?新手必看操作指南  如何获取开源自助建站系统免费下载链接?  如何在阿里云ECS服务器部署织梦CMS网站?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  建站主机数据库如何配置才能提升网站性能?  ,想在网上投简历,哪几个网站比较好?  网站图片在线制作软件,怎么在图片上做链接?  上海制作企业网站有哪些,上海有哪些网站可以让企业免费发布招聘信息?  网站制作公司排行榜,四大门户网站排名?  如何通过商城自助建站源码实现零基础高效建站?  如何快速生成凡客建站的专业级图册?  如何快速搭建虚拟主机网站?新手必看指南  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  高防服务器租用指南:配置选择与快速部署攻略  企业微网站怎么做,公司网站和公众号有什么区别?  微信推文制作网站有哪些,怎么做微信推文,急?  如何快速重置建站主机并恢复默认配置?  MySQL查询结果复制到新表的方法(更新、插入)  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  如何在云主机快速搭建网站站点?  建站主机选购指南:核心配置与性价比推荐解析  简易网站制作视频教程,使用记事本编写一个简单的网页html文件?  简历在线制作网站免费版,如何创建个人简历?  建站之星好吗?新手能否轻松上手建站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  山东云建站价格为何差异显著?  公司网站制作费用多少,为公司建立一个网站需要哪些费用?  如何在香港服务器上快速搭建免备案网站?  建站之星免费模板:自助建站系统与智能响应式一键生成  网站制作话术技巧,网站推广做的好怎么话术?  C++如何使用std::optional?(处理可选值)  历史网站制作软件,华为如何找回被删除的网站?  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  如何在阿里云服务器自主搭建网站?  建站主机选购指南:核心配置优化与品牌推荐方案  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  制作网站怎么制作,*游戏网站怎么搭建?  广州建站公司哪家好?十大优质服务商推荐  建站之星备案是否影响网站上线时间?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?  测试制作网站有哪些,测试性取向的权威测试或者网站? 

您的项目需求

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