jquery实现的省市区三级联动


Posted in Javascript onApril 02, 2015

省市级联动,附使用示例和数据表数据

有部分数据精确到乡镇一级!!!

Git 地址:http://git.oschina.net/upliu/province-city-district

演示代码:

<!DOCTYPE html>
<html>
<head lang="en">
  <meta charset="UTF-8">
  <title>省市区三级联动</title>
</head>
<body>
<form method="post" action="post.php">
  <div id="area"></div>
  <input type="submit" style="margin-top: 10px;">
</form>
<script src="jquery-2.1.3.min.js"></script>
<script src="area.js"></script>
<script>
  $(function(){
 
    add_select(0);
 
    $('body').on('change', '#area select', function() {
      var $me = $(this);
      var $next = $me.next();
      /**
       * 如果下一级已经是当前所选地区的子地区,则不进行处理
       */
      if ($me.val() == $next.data('pid')) {
        return;
      }
      $me.nextAll().remove();
      add_select($me.val());
    });
 
    function add_select(pid) {
      var area_names = area['name'+pid];
      if (!area_names) {
        return false;
      }
      var area_codes = area['code'+pid];
      var $select = $('<select>');
      $select.attr('name', 'area[]');
      $select.data('pid', pid);
      if (area_codes[0] != -1) {
        area_names.unshift('请选择');
        area_codes.unshift(-1);
      }
      for (var idx in area_codes) {
        var $option = $('<option>');
        $option.attr('value', area_codes[idx]);
        $option.text(area_names[idx]);
        $select.append($option);
      }
      $('#area').append($select);
    };
  });
</script>
</body>
</html>

以上所述就是本文给大家分享的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
Javascript attachEvent传递参数的办法
Dec 14 Javascript
模仿百度三维地图的js数据分享
May 12 Javascript
通过JS获取用户本地图片路径并显示的代码
Feb 16 Javascript
详解javascript实现自定义事件
Jan 19 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
Feb 06 Javascript
原生js实现百叶窗效果及原理介绍
Apr 12 Javascript
原生javascript实现读写CSS样式的方法详解
Feb 20 Javascript
详解webpack3编译兼容IE8的正确姿势
Dec 21 Javascript
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
Nov 08 Javascript
深入分析element ScrollBar滚动组件源码
Jan 22 Javascript
layui表格内容溢出的解决方法
Sep 06 Javascript
微信小程序自定义支持图片的弹窗
Dec 21 Javascript
JavaScript实现的链表数据结构实例
Apr 02 #Javascript
JavaScript实现的字符串replaceAll函数代码分享
Apr 02 #Javascript
通过JS判断联网类型和连接状态的实现代码
Apr 01 #Javascript
Javascript中数组方法汇总(推荐)
Apr 01 #Javascript
javascript闭包的理解
Apr 01 #Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 #Javascript
JavaScript之Object类型介绍
Apr 01 #Javascript
You might like
Oracle 常见问题解答
2006/10/09 PHP
浅析十款PHP开发框架的对比
2013/07/05 PHP
9条PHP编程小知识及易犯的小错误
2015/01/22 PHP
php使用数组填充下拉列表框的方法
2015/03/31 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
详解ThinkPHP3.2.3验证码显示、刷新、校验
2016/12/29 PHP
php从数据库中获取数据用ajax传送到前台的方法
2018/08/20 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
PHP常见过waf webshell以及最简单的检测方法
2019/05/21 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
DWZ table的原生分页浅谈
2013/03/01 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
js一维数组、多维数组和对象的混合使用方法
2016/04/03 Javascript
WebApi+Bootstrap+KnockoutJs打造单页面程序
2016/05/16 Javascript
ES2015 Symbol 一种绝不重复的值
2016/12/25 Javascript
如何快速上手Vuex
2017/02/14 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
p5.js入门教程之平滑过渡(Easing)
2018/03/16 Javascript
JavaScript模板引擎实现原理实例详解
2018/12/14 Javascript
详解为element-ui的Select和Cascader添加弹层底部操作按钮
2020/02/07 Javascript
element-plus一个vue3.xUI框架(element-ui的3.x 版初体验)
2020/12/02 Vue.js
[02:24]DOTA2亚洲邀请赛 NAVI战队出场宣传片
2015/02/07 DOTA
Python os模块学习笔记
2015/06/21 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
Python3.5基础之NumPy模块的使用图文与实例详解
2019/04/24 Python
python使用Qt界面以及逻辑实现方法
2019/07/10 Python
python 批量修改 labelImg 生成的xml文件的方法
2019/09/09 Python
Pandas实现dataframe和np.array的相互转换
2019/11/30 Python
以SQLite和PySqlite为例来学习Python DB API
2020/02/05 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
某同学的自我鉴定范文
2013/12/26 职场文书
安全标语口号
2014/06/09 职场文书
小城镇建设汇报材料
2014/08/16 职场文书
2014年中班下学期工作总结
2014/12/11 职场文书
2016年教代会开幕词
2016/03/04 职场文书