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 相关文章推荐
JavaScript 实现类的多种方法实例
May 01 Javascript
js实现带农历和八字等信息的日历特效
May 16 Javascript
js控住DOM实现发布微博效果
Aug 30 Javascript
jQuery包裹节点用法完整示例
Sep 13 Javascript
js实现canvas保存图片为png格式并下载到本地的方法
Aug 31 Javascript
create-react-app构建项目慢的解决方法
Mar 14 Javascript
7个好用的JavaScript技巧分享(译)
May 07 Javascript
微信小程序页面间传递数组对象方法解析
Nov 06 Javascript
BootstrapValidator验证用户名已存在(ajax)
Nov 08 Javascript
Vue切换组件实现返回后不重置数据,保留历史设置操作
Jul 21 Javascript
Vue表单提交点击事件只允许点击一次的实例
Oct 23 Javascript
JavaScript实现九宫格拖拽效果
Jun 28 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
php excel类 phpExcel使用方法介绍
2010/08/21 PHP
php下载文件的代码示例
2012/06/29 PHP
php中文乱码怎么办如何让浏览器自动识别utf-8
2014/01/15 PHP
php相对当前文件include其它文件的方法
2015/03/13 PHP
tp5框架使用cookie加密算法实现登录功能示例
2020/02/10 PHP
关于PHP中interface的用处详解
2020/07/26 PHP
字符串的replace方法应用浅析
2011/12/06 Javascript
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
js实现键盘自动打字效果
2016/12/23 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
JavaScript 中Date对象的格式化代码方法汇总
2017/09/06 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
2018/04/03 Javascript
vue文件运行的方法教学
2019/02/12 Javascript
抖音上用记事本编写爱心小程序教程
2019/04/17 Javascript
微信小程序在其他页面监听globalData中值的变化
2019/07/15 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
ES6中异步对象Promise用法详解
2019/07/31 Javascript
python Web开发你要理解的WSGI &amp; uwsgi详解
2018/08/01 Python
python2.7使用plotly绘制本地散点图和折线图
2019/04/02 Python
Python try except异常捕获机制原理解析
2020/04/18 Python
python中re模块知识点总结
2021/01/17 Python
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
导游个人求职信范文
2014/03/23 职场文书
计划生育宣传标语
2014/06/21 职场文书
垃圾桶标语
2014/06/24 职场文书
学生逃课检讨书1000字
2014/10/20 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
家长高考寄语
2015/02/27 职场文书
JS前端轻量fabric.js系列物体基类
2022/08/05 Javascript