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 相关文章推荐
事件模型在各浏览器中存在差异
Oct 20 Javascript
Javascript 遮罩层和加载效果代码
Aug 01 Javascript
浮动的div自适应居中显示的js代码
Dec 23 Javascript
谈谈impress.js初步理解
Sep 09 Javascript
在线引用最新jquery文件的实现方法
Aug 26 Javascript
基于JS实现移动端向左滑动出现删除按钮功能
Feb 22 Javascript
angularJS模态框$modal实例代码
May 27 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
Mar 14 Javascript
小程序实现录音上传功能
Nov 22 Javascript
element表格翻页第2页从1开始编号(后端从0开始分页)
Dec 10 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
微信小程序实现通讯录列表展开收起
Nov 18 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
UCenter中的一个可逆加密函数authcode函数代码
2010/07/20 PHP
PHP MemCached高级缓存配置图文教程
2010/08/05 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
PHP工程师VIM配置分享
2015/12/15 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP与Java对比学习日期时间函数
2016/07/03 PHP
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
JS操作iframe里的dom(实例讲解)
2014/01/29 Javascript
JS中动态创建元素的三种方法总结(推荐)
2016/10/20 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
js+SVG实现动态时钟效果
2018/07/14 Javascript
Vue 页面状态保持页面间数据传输的一种方法(推荐)
2018/11/01 Javascript
基于Nuxt.js项目的服务端性能优化与错误检测(容错处理)
2019/10/23 Javascript
Vue调用后端java接口的实例代码
2019/10/28 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
Python中处理字符串的相关的len()方法的使用简介
2015/05/19 Python
浅析Python中的赋值和深浅拷贝
2017/08/15 Python
Python os.access()用法实例
2019/02/18 Python
python导入不同目录下的自定义模块过程解析
2019/11/18 Python
基于Python实现体育彩票选号器功能代码实例
2020/09/16 Python
pandas处理csv文件的方法步骤
2020/10/16 Python
公司成立感言
2014/01/11 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
七年级地理教学反思
2014/01/26 职场文书
三查三看党性分析材料
2014/02/18 职场文书
人事专员的职责
2014/02/26 职场文书
公证委托书
2014/08/01 职场文书
爱心助学感谢信
2015/01/21 职场文书
2015学校图书管理员工作总结
2015/05/11 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
党员干部学习心得体会
2016/01/23 职场文书
MySql新手入门的基本操作汇总
2021/05/13 MySQL
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
使用CSS自定义属性实现骨架屏效果
2022/06/21 HTML / CSS