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利用正则表达式去除日期中的“-”
Jul 01 Javascript
js实现简单的可切换选项卡效果
Apr 10 Javascript
最全的Javascript编码规范(推荐)
Jun 22 Javascript
JS中如何比较两个Json对象是否相等实例代码
Jul 13 Javascript
AngularJS基础 ng-keyup 指令简单示例
Aug 02 Javascript
浅谈jquery.form.js的ajaxSubmit和ajaxForm的使用
Sep 09 Javascript
node.js 抓取代理ip实例代码
Apr 30 Javascript
bootstrap Table服务端处理分页(后台是.net)
Oct 19 Javascript
vue2.0使用swiper组件实现轮播效果
Nov 27 Javascript
jquery实现企业定位式导航效果
Jan 01 jQuery
vue表单自定义校验规则介绍
Aug 28 Javascript
JS多个表单数据提交下的serialize()应用实例分析
Aug 27 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学习 字符串课件
2008/06/15 PHP
无需重新编译php加入ftp扩展的解决方法
2013/02/07 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
完美解决php 导出excle的.csv格式的数据时乱码问题
2017/02/18 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
兼容IE和FF的js脚本代码小结(比较常用)
2010/12/06 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
简单实现nodejs上传功能
2017/01/14 NodeJs
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
JS实现选项卡效果的代码实例
2019/05/20 Javascript
小试小程序云开发(小结)
2019/06/06 Javascript
Vue 监听元素前后变化值实例
2020/07/29 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
python 域名分析工具实现代码
2009/07/15 Python
在Python的web框架中编写创建日志的程序的教程
2015/04/30 Python
python爬虫入门教程--利用requests构建知乎API(三)
2017/05/25 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
详解Python3.6的py文件打包生成exe
2018/07/13 Python
python实现定时压缩指定文件夹发送邮件
2020/12/22 Python
django ModelForm修改显示缩略图 imagefield类型的实例
2019/07/28 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
canvas环形倒计时组件的示例代码
2018/06/14 HTML / CSS
Linux开机引导的步骤是什么
2015/10/19 面试题
农业大学毕业生的个人自我评价
2013/10/11 职场文书
车间班长岗位职责
2013/11/30 职场文书
药剂专业自荐信范文
2014/04/16 职场文书
承租经营合作者协议书
2014/10/01 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
领导班子三严三实心得体会
2014/10/13 职场文书
加班费申请报告
2015/05/15 职场文书
学籍证明模板
2015/06/18 职场文书
《为人民服务》教学反思
2016/02/20 职场文书