JavaScript实现省市县三级级联特效


Posted in Javascript onMay 16, 2017

本文实例为大家分享了js省市县三级级联特效的实现代码,供大家参考,具体内容如下

主要思想

1.省改变,市改变,并初始化县
2.市改变,县改变

html代码

<select id="sheng">
 <option value="">--请选择--</option>
 <option value="0">北京市</option>
 <option value="1">河北省</option>
 <option value="2">山西省</option>
 <option value="3">内蒙古自治区</option>
</select>
<select id="shi">
 <option value="">--请选择--</option>
</select>
<select id="xian">
 <option value="">--请选择--</option>
</select>

主要步骤

1.获取元素对象

var sheng = document.getElementById('sheng');
var shi = document.getElementById('shi');
var xian = document.getElementById('xian');

2.定义市和县的数组

var city = [
   ['昌平区', '海淀区', '朝阳区', '东城区'],
   ['石家庄市', '保定市', '张家口市', '唐山市'],
   ['太原市', '大同市', '运城市', '临汾市'],
  ['呼和浩特市', '包头市', '鄂尔多斯市', '赤峰市']
 ];
  var xians = [
  [
    ['北七家','回龙观','霍营'],
    ['中关村','苏州街','西二旗'],
    ['朝阳1','朝阳2','朝阳3'],
    ['东城1','东城2','东城3'],
  ],
  [
   ['新华区','桥东区','桥西区'],
   ['高碑店','白沟','定兴'],
  ]
 ];

3.定义全局变量

var index = null;

4.实现省份改变,市跟着变化的效果

sheng.onchange = function() {
   xian.innerHTML = '<option value="">--请选择--</option>';// 初始化xian
   index = this.value; // 获取option的值
   var result = city[index];//根据index去city数组中获取对应的shi
   // 将获取的结果显示在select#shi中,循环result数组中的"每一个值",在值的两侧加上option标签
   var str = '<option value="">--请选择--</option>';
   for (var i = 0; i < result.length; i++) {
   // 将所有的拼接好的市再次拼接为一个整体
   str += '<option value="'+i+'">' + result[i] + '</option>';
   }
   shi.innerHTML = str;//将字符串写入到select#shi中
 }

5.实现市改变,获取县城的效果

shi.onchange = function(){
 var value = this.value; // 获取当前的value值  
 var county = xians[index][value]; // 根据市获取市对应的县
 var str = '<option value="">--请选择--</option>';
 for (var i = 0; i < county.length; i++) {
  str += '<option value="'+i+'">' + county[i] + '</option>';
 }
 xian.innerHTML = str;//将数据写入到select#xian中
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 构建一个xmlhttp对象池合理创建和使用xmlhttp对象
Jan 15 Javascript
jquery之empty()与remove()区别说明
Sep 10 Javascript
Extjs中通过Tree加载右侧TabPanel具体实现
May 05 Javascript
Jquery同辈元素选中/未选中效果的实例代码
Aug 01 Javascript
jquery 追加tr和删除tr示例代码
Sep 12 Javascript
javaScript对文字按照拼音排序实现代码
Dec 27 Javascript
TypeScript具有的几个不同特质
Apr 07 Javascript
详解JavaScript的回调函数
Nov 20 Javascript
node.js入门教程之querystring模块的使用方法
Feb 27 Javascript
Vue动态获取width的方法
Aug 22 Javascript
基于Vue 实现一个中规中矩loading组件
Apr 03 Javascript
js实现简单的轮播图效果
Dec 13 Javascript
原生js简单实现放大镜特效
May 16 #Javascript
javascript 中iframe高度自适应(同域)实例详解
May 16 #Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
May 30 #Javascript
Vue.js tab实现选项卡切换
May 16 #Javascript
Vue.js手风琴菜单组件开发实例
May 16 #Javascript
Bootstrap fileinput文件上传预览插件使用详解
May 16 #Javascript
js自定义瀑布流布局插件
May 16 #Javascript
You might like
十天学会php之第二天
2006/10/09 PHP
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
PHP插入排序实现代码
2013/04/04 PHP
php+ajax导入大数据时产生的问题处理
2014/06/11 PHP
PHP模板引擎Smarty中的保留变量用法分析
2016/04/11 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
PHP PDO和消息队列的个人理解与应用实例分析
2019/11/25 PHP
js限制文本框为整数和货币的函数代码
2010/10/13 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
JavaScript阻止回车提交表单的方法
2015/12/30 Javascript
jQuery插件实现文件上传功能(支持拖拽)
2020/08/27 Javascript
移动端js触摸事件详解
2016/09/18 Javascript
JS实现间歇滚动的运动效果实例
2016/12/22 Javascript
Vue学习笔记之表单输入控件绑定
2017/09/05 Javascript
JavaScript面向对象的程序设计(犯迷糊的小羊)
2018/05/27 Javascript
jQuery实现的滑块滑动导航效果示例
2018/06/04 jQuery
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
js贪心算法 钱币找零问题代码实例
2019/09/11 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
老生常谈Python startswith()函数与endswith函数
2017/09/08 Python
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
如何写出好的Java代码
2014/04/25 面试题
个人简历自我鉴定
2013/10/11 职场文书
关爱留守儿童倡议书
2014/04/15 职场文书
出差报告范文
2014/11/06 职场文书
2014年节能降耗工作总结
2014/12/11 职场文书
2014年企业党建工作总结
2014/12/18 职场文书
万能检讨书
2015/01/27 职场文书
员工升职自荐信
2015/03/27 职场文书
优秀共产党员事迹材料2016
2016/02/29 职场文书
高中16字霸气押韵班级口号集锦!
2019/06/27 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
我对PyTorch dataloader里的shuffle=True的理解
2021/05/20 Python
关于antd tree 和父子组件之间的传值问题(react 总结)
2021/06/02 Javascript
详解python网络进程
2021/06/15 Python