JavaScript实现省市联动效果


Posted in Javascript onNovember 22, 2019

本文实例为大家分享了JavaScript实现省市联动的具体代码,供大家参考,具体内容如下

实现效果:

1.当点击文字时选中对应的下拉菜单

2.选择省,后面跟本省对应的市

实现过程:

 1.获得省的Dom对象

 2.用循环为省的下拉菜单设置option子节点,并将数组每个pName的值赋给创建的子节点

 3.每次循环同时为option子节点设置value属性

 4.同理在点击省的同时,为市创建option子节点,并将cName的值赋给子节点,设置属性

实现细节:

 1. 点击省时采用onchange事件(元素值改变时触发)
 2. 每次为市增加节点,要将节点清空,否则市的节点会叠加,可采用option长度为0, citySel.options.length = 0;

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="UTF-8">
 <title>Document</title>
 <style>
 .box{
  width: 500px;
  padding: 20px;
  border: 1px solid #aaa;
  margin: 100px auto;
 }
 .box select{
  width: 150px;
  margin: 10px;
 }
 </style>
 <script>
 var provs = [{"id":"01","pName":"河南省"},{"id":"02","pName":"河北省"},{"id":"03","pName":"四川省"}];
  var citys = [{"id":"001","cName":"安阳市","pId":"01"},{"id":"002","cName":"郑州市","pId":"01"},{"id":"003","cName":"新乡市","pId":"01"},{"id":"004","cName":"邯郸市","pId":"02"},{"id":"005","cName":"石家庄市","pId":"02"},{"id":"006","cName":"合肥市","pId":"02"},{"id":"007","cName":"广陵市","pId":"03"},{"id":"008","cName":"成都市","pId":"03"},{"id":"009","cName":"重庆市","pId":"03"}];
  function $(id){
  return document.getElementById(id);
  }
  window.onload = function (){
    var proSel = $('province');
    for(var i = 0; i<provs.length; i++){
     var Coption = document.createElement('option');
     Coption.innerHTML = provs[i].pName;
     Coption.setAttribute('value',provs[i].id);
     proSel.appendChild(Coption);
    }
   proSel.onchange = function(){
    var city =$('city');
    var Pid = this.value;
    city.options.length = 0;//把Select的属性清空
    for(var i=0; i<citys.length; i++){
     if(Pid == citys[i].pId){
     var Noption = document.createElement('option');
     Noption.innerHTML = citys[i].cName;
     Noption.setAttribute('value',citys[i].id);
     city.appendChild(Noption);
    }

    }
    }
}
 </script>
</head>
<body>
 <div class="box">
   请选择:
   <select id="province">
   <option value="00">----请选择----</option>
   </select><label for="province">省</label>
   <select id="city">
   <option value="000">----请选择----</option>
   </select><label for="city">市</label>
 </div>
</body>
</html>

JavaScript实现省市联动效果

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

Javascript 相关文章推荐
firefox浏览器下javascript 拖动层效果与原理分析代码
Dec 04 Javascript
Javascript 写的简单进度条控件
Jan 22 Javascript
JQuery 前台切换网站的样式实现
Jun 22 Javascript
事件冒泡是什么如何用jquery阻止事件冒泡
Mar 20 Javascript
JS小功能(checkbox实现全选和全取消)实例代码
Nov 28 Javascript
JQuery中使用on方法绑定hover事件实例
Dec 09 Javascript
js实现rem自动匹配计算font-size的示例
Nov 18 Javascript
浅谈React的最大亮点之虚拟DOM
May 29 Javascript
vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码
Apr 04 Javascript
Vue中keep-alive的两种应用方式
Jul 15 Javascript
three.js 将图片马赛克化的示例代码
Jul 31 Javascript
原生JavaScript实现购物车
Jan 10 Javascript
Vue混入mixins滚动触底的方法
Nov 22 #Javascript
超简单的微信小程序轮播图
Nov 22 #Javascript
微信小程序实现Swiper轮播图效果
Nov 22 #Javascript
Js代码中的span拼接问题解决
Nov 22 #Javascript
微信小程序商品详情页底部弹出框
Nov 22 #Javascript
小程序实现图片预览裁剪插件
Nov 22 #Javascript
Vue数据双向绑定底层实现原理
Nov 22 #Javascript
You might like
经典的PHPer为什么被认为是草根?
2007/04/02 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
php支持断点续传、分块下载的类
2016/05/02 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
2016/05/19 PHP
php处理单文件、多文件上传代码分享
2016/08/24 PHP
浅谈PHP中try{}catch{}的使用方法
2016/12/09 PHP
PHP strripos函数用法总结
2019/02/11 PHP
一个js写的日历(代码部分网摘)
2009/09/20 Javascript
表单验证的完整应用案例探讨
2013/03/29 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
2016/04/17 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
angularJs关于指令的一些冷门属性详解
2016/10/24 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
JavaScript利用Date实现简单的倒计时实例
2017/01/12 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
react 移动端实现列表左滑删除的示例代码
2019/07/04 Javascript
JavaScript进制转换实现方法解析
2020/01/18 Javascript
Node.js 深度调试方法解析
2020/07/28 Javascript
JavaScript中常用的3种弹出提示框(alert、confirm、prompt)
2020/11/10 Javascript
Python中typing模块与类型注解的使用方法
2019/08/05 Python
Python GUI之tkinter窗口视窗教程大集合(推荐)
2020/10/20 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
移动端HTML5实现文件上传功能【附代码】
2016/03/25 HTML / CSS
意大利奢侈品综合电商网站:MODES
2019/12/14 全球购物
以下为Windows NT 下的32 位C++程序,请计算sizeof 的值
2016/12/07 面试题
制作部班长职位说明书
2014/02/26 职场文书
检举信的格式及范文
2014/04/04 职场文书
本科毕业生自荐信
2014/06/02 职场文书
秦始皇兵马俑导游词
2015/02/02 职场文书
党员个人自我评价
2015/03/03 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
2015年高中班主任工作总结
2015/04/30 职场文书
大学自主招生自荐信(2016精选篇)
2016/01/28 职场文书
python pandas 解析(读取、写入)CSV 文件的操作方法
2022/12/24 Python
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技