基于jquery实现省市区三级联动效果


Posted in Javascript onDecember 25, 2015

本文实现更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们。
JQUERY + JSON,无数据库,纯JS代码,无加密,无压缩,可直接使用在任何项目中。

说明:数据来源于国家统计局官网。

先上图:

基于jquery实现省市区三级联动效果

绑定省市区

基于jquery实现省市区三级联动效果

使用方法:

1. 引用JQUERY   

<script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min.js"></script>

2. 引用省市区数据

<script type="text/javascript" src="pdata.js"></script>

3. HTML代码:

<div class="row">
 <div class="col-sm-12">
  <div class="form-group">
   <label class="control-label col-sm-2">所在区域</label>
   <div class="col-sm-3">
    <select name="input_province" id="input_province" class="form-control">
    </select>
   </div>
   <div class="col-sm-3">
    <select name="input_city" id="input_city" class="form-control">
    </select>
   </div>
   <div class="col-sm-3">
    <select name="input_area" id="input_area" class="form-control">
    </select>
   </div>
  </div>
 </div>
</div>

4. JS代码:

$(function () {
  var html = "<option value=''>== 请选择 ==</option>"; $("#input_city").append(html); $("#input_area").append(html);
  $.each(pdata,function(idx,item){
   if (parseInt(item.level) == 0) {
     html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
    }
  });
  $("#input_province").append(html);

  $("#input_province").change(function(){
   if ($(this).val() == "") return;
   $("#input_city option").remove(); $("#input_area option").remove();
   var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,2);
   var html = "<option value=''>== 请选择 ==</option>"; $("#input_area").append(html);
   $.each(pdata,function(idx,item){
    if (parseInt(item.level) == 1 && code == item.code.substring(0,2)) {
      html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
     }
   });
   $("#input_city").append(html);  
  });

  $("#input_city").change(function(){
   if ($(this).val() == "") return;
   $("#input_area option").remove();
   var code = $(this).find("option:selected").attr("exid"); code = code.substring(0,4);
   var html = "<option value=''>== 请选择 ==</option>";
   $.each(pdata,function(idx,item){
    if (parseInt(item.level) == 2 && code == item.code.substring(0,4)) {
      html += "<option value='" + item.names + "' exid='" + item.code + "'>" + item.names + "</option>";
     }
   });
   $("#input_area").append(html);  
  });
  //绑定
  $("#input_province").val("广东省");$("#input_province").change();
  $("#input_city").val("深圳市");$("#input_city").change();
  $("#input_area").val("罗湖区");

 });

源码下载: 《基于jquery实现省市区三级联动效果》

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
javascript对数组的常用操作代码 数组方法总汇
Jan 27 Javascript
Package.js  现代化的JavaScript项目make工具
May 23 Javascript
jquery.ui.draggable中文文档(原文翻译)
Nov 15 Javascript
用IE重起计算机或者关机的示例代码
Mar 10 Javascript
jquery对table中各数据的增加、保存、删除操作示例
May 14 Javascript
Jquery api 速查表分享
Jan 12 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
Jan 26 Javascript
Jquery 整理元素选取、常用方法一览表
Nov 26 Javascript
vue实现的双向数据绑定操作示例
Dec 04 Javascript
Vue.js实现备忘录功能
Jun 26 Javascript
浅谈layui里的上传控件问题
Sep 26 Javascript
vue中axios封装使用的完整教程
Mar 03 Vue.js
js实现文本框输入文字个数限制代码
Dec 25 #Javascript
js实现简单的验证码
Dec 25 #Javascript
借助FileReader实现将文件编码为Base64后通过AJAX上传
Dec 24 #Javascript
javascript与jquery中的this关键字用法实例分析
Dec 24 #Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
Dec 24 #Javascript
jQuery中hover与mouseover和mouseout的区别分析
Dec 24 #Javascript
基于JS2Image实现圣诞树代码
Dec 24 #Javascript
You might like
PHP 获取远程文件内容的函数代码
2010/03/24 PHP
php使用COPY函数更新配置文件的方法
2015/06/18 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
javascript function、指针及内置对象
2009/02/19 Javascript
基于jquery的自定义鼠标提示效果 jquery.toolTip
2010/11/14 Javascript
jquery $.ajax()取xml数据的小问题解决方法
2010/11/20 Javascript
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
2013/01/15 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
JavaScript字符串常用类使用方法汇总
2015/04/14 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
Vue动态组件实例解析
2017/08/20 Javascript
你应该知道的几类npm依赖包管理详解
2017/10/06 Javascript
vue中promise的使用及异步请求数据的方法
2018/11/08 Javascript
vue.js实现的幻灯片功能示例
2019/01/18 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
vue3.0实现点击切换验证码(组件)及校验
2020/11/18 Vue.js
全面解析Vue中的$nextTick
2020/12/24 Vue.js
Python 代码性能优化技巧分享
2012/08/07 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python中的单继承与多继承实例分析
2018/05/10 Python
python执行系统命令后获取返回值的几种方式集合
2018/05/12 Python
Python使用pyshp库读取shapefile信息的方法
2018/12/29 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
Python计算IV值的示例讲解
2020/02/28 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
英国电器零售商:PRC Direct
2018/06/21 全球购物
简历里的自我评价
2014/01/31 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
焦点访谈观后感
2015/06/11 职场文书
转学证明范本
2015/06/19 职场文书
小学生暑假生活总结
2015/07/13 职场文书
Python爬虫基础之初次使用scrapy爬虫实例
2021/06/26 Python
Java设计模式中的命令模式
2022/04/28 Java/Android
nginx代理实现静态资源访问的示例代码
2022/07/07 Servers