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 相关文章推荐
Extjs Ajax 乱码问题解决方案
Apr 15 Javascript
JS与框架页的操作代码
Jan 17 Javascript
IE下window.onresize 多次调用与死循环bug处理方法介绍
Nov 12 Javascript
AngularJS学习笔记之基本指令(init、repeat)
Jun 16 Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
May 24 Javascript
JS阻止事件冒泡行为和闭包的方法
Jun 16 Javascript
jQuery上传多张图片带进度条样式(DEMO)
Mar 02 Javascript
初探Vue3.0 中的一大亮点Proxy的使用
Dec 06 Javascript
layui加载表格,绑定新增,编辑删除,查看按钮事件的例子
Sep 06 Javascript
微信JSSDK实现打开摄像头拍照再将相片保存到服务器
Nov 15 Javascript
《javascript设计模式》学习笔记一:Javascript面向对象程序设计对象成员的定义分析
Apr 07 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 什么是PEAR?
2009/03/19 PHP
php中经典方法实现判断多维数组是否为空
2011/10/23 PHP
php全局变量和类配合使用深刻理解
2013/06/05 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
2018/06/16 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
使用AOP改善javascript代码
2015/05/01 Javascript
浅谈关于JavaScript API设计的一些建议和准则
2015/06/24 Javascript
详解jquery事件delegate()的使用方法
2016/01/25 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
详解vue-router 路由元信息
2017/09/13 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
关于TypeScript模块导入的那些事
2018/06/12 Javascript
Vue EventBus自定义组件事件传递
2018/06/25 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
小程序中手机号识别的示例
2020/12/14 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python将图片文件转换成base64编码的方法
2015/03/14 Python
PHP网页抓取之抓取百度贴吧邮箱数据代码分享
2016/04/13 Python
TensorFlow在MAC环境下的安装及环境搭建
2017/11/14 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
Python 移动光标位置的方法
2019/01/20 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
美国珠宝网上商店:Jeulia
2016/09/01 全球购物
Otel.com:折扣酒店预订
2017/08/24 全球购物
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
简述synchronized和java.util.concurrent.locks.Lock的异同
2014/12/08 面试题
用JAVA实现一种排序,JAVA类实现序列化的方法(二种)
2014/04/23 面试题
旅游管理毕业生自荐信
2013/11/05 职场文书
法定授权委托证明书
2014/09/27 职场文书
2014年统战工作总结
2014/12/09 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016高考冲刺决心书
2015/09/23 职场文书
golang slice元素去重操作
2021/04/30 Golang