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删除option选项的多种方法总结
Nov 22 Javascript
jquery实现checkbox 全选/全不选的通用写法
Feb 22 Javascript
jQuery中的jQuery()方法用法分析
Dec 27 Javascript
基于jquery实现复选框全选,反选,全不选等功能
Oct 16 Javascript
分享javascript实现的冒泡排序代码并优化
Jun 05 Javascript
BootStrap Fileinput插件和Bootstrap table表格插件相结合实现文件上传、预览、提交的导入Excel数据操作步骤
Aug 07 Javascript
Node.js+jade抓取博客所有文章生成静态html文件的实例
Sep 19 Javascript
Vuex 使用 v-model 配合 state的方法
Nov 13 Javascript
微信小程序项目总结之记账小程序功能的实现(包括后端)
Aug 20 Javascript
vue-cli创建的项目中的gitHooks原理解析
Feb 14 Javascript
Node.js 深度调试方法解析
Jul 28 Javascript
详细分析JavaScript中的深浅拷贝
Sep 17 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
PHP下通过QRCode类库创建中间带网站LOGO的二维码
2014/07/12 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
关于文本限制字数的js代码
2007/04/02 Javascript
在js(jquery)中获得文本框焦点和失去焦点的方法
2012/12/04 Javascript
如何使用jQuery Draggable和Droppable实现拖拽功能
2013/07/05 Javascript
jquery动态加载js三种方法实例
2013/08/03 Javascript
JavaScript统计网站访问次数的实现代码
2015/11/18 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
Vue2.0系列之过滤器的使用
2018/03/01 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
如何用webpack4.0撸单页/多页脚手架 (jquery, react, vue, typescript)
2019/06/18 jQuery
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
python通过微信发送邮件实现电脑关机
2018/06/20 Python
浅谈python的输入输出,注释,基本数据类型
2019/04/02 Python
opencv python图像梯度实例详解
2020/02/04 Python
Django执行源生mysql语句实现过程解析
2020/11/12 Python
Python实现石头剪刀布游戏
2021/01/20 Python
iframe与window.onload如何使用详解
2020/05/07 HTML / CSS
世界上最大的汽车共享网站:Zipcar
2017/01/14 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
意大利时尚精品店:Nugnes 1920
2020/02/10 全球购物
Python如何定义一个函数
2015/09/01 面试题
校本教研工作制度
2014/01/22 职场文书
创建绿色学校先进个人材料
2014/08/20 职场文书
庆国庆活动总结
2014/08/28 职场文书
小学师德师风演讲稿
2014/09/02 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
校园开放日新闻稿
2015/07/17 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
TypeScript中条件类型精读与实践记录
2021/10/05 Javascript
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL