jQuery实现的省市联动菜单功能示例【测试可用】


Posted in Javascript onJanuary 13, 2017

本文实例讲述了jQuery实现的省市联动菜单功能。分享给大家供大家参考,具体如下:

主要通过 select 下的 option 的 change 事件动态的为市级菜单添加数据。

index.html:

<!DOCTYPE html>
<html>
<head>
  <title></title>
  <meta charset="utf-8">
  <script type="text/javascript" language="javascript" src="js/jquery-1.10.2.js"></script>
  <script type="text/javascript" language="javascript" src="js/linkageProvinceCity.js"></script>
</head>
<body>
所在省市
<select id="selectProv" onchange="prov_onChange()">
  <option>请选择省份</option>
</select>
<select id="selectCity" onchange="city_onChange()">
  <option>请选择市区</option>
</select>
</body>
</html>

linkageProvinceCity.js:

/**
 * Created with JetBrains PhpStorm.
 * User: smeoi
 * Date: 13-11-11
 * Time: 上午11:32
 * To change this template use File | Settings | File Templates.
 */
$(function () {
  //初始化省份菜单
  var prov = new Array();
  prov[1] = "北京市";
  prov[2] = "天津市";
  prov[3] = "上海市";
  prov[4] = "重庆市";
  prov[5] = "河北省";
  prov[6] = "山西省";
  prov[7] = "台湾省";
  prov[8] = "辽宁省";
  prov[9] = "吉林省";
  prov[10] = "黑龙江省";
  prov[11] = "江苏省";
  prov[12] = "浙江省";
  prov[13] = "安徽省";
  prov[14] = "福建省";
  prov[15] = "江西省";
  prov[16] = "山东省";
  prov[17] = "河南省";
  prov[18] = "湖北省";
  prov[19] = "湖南省";
  prov[20] = "广东省";
  prov[21] = "甘肃省";
  prov[22] = "四川省";
  prov[23] = "贵州省";
  prov[24] = "海南省";
  prov[25] = "云南省";
  prov[26] = "青海省";
  prov[27] = "陕西省";
  prov[28] = "广西壮族自治区";
  prov[29] = "西藏自治区";
  prov[30] = "宁夏回族自治区";
  prov[31] = "新疆维吾尔自治区";
  prov[32] = "内蒙古自治区";
  prov[33] = "澳门特别行政区";
  prov[34] = "香港特别行政区";
  for (var i = 1; i < prov.length; i++) {
    $("#selectProv").append("<option>"+prov[i]+"</option>");
  }
  var city = new Array();
  city[1] = new Array("北京市");
  city[2] = new Array("天津市");
  city[3] = new Array("上海市");
  city[4] = new Array("重庆市");
  city[5] = new Array("保定市", "沧州市", "承德市", "邯郸市", "衡水市", "廊坊市", "秦皇岛市", "石家庄市", "唐山市", "邢台市", "张家口市");
  city[6] = new Array("长治市", "大同市", "晋城市", "晋中市", "临汾市", "吕梁市", "朔州市", "太原市", "忻州市", "阳泉市", "运城市");
  city[7] = new Array("高雄市", "高雄县", "花莲县", "基隆市", "嘉义市", "嘉义县", "苗栗县", "南投县", "澎湖县", "屏东县", "台北市", "台北县", "台东县", "台南市", "台南县", "台中市", "台中县", "桃园县", "新竹市", "新竹县", "宜兰县", "云林县", "彰化县");
  city[8] = new Array("鞍山市", "本溪市", "朝阳市", "大连市", "丹东市", "抚顺市", "阜新市", "葫芦岛市", "锦州市", "辽阳市", "盘锦市", "沈阳市", "铁岭市", "营口市");
  city[9] = new Array("白城市", "白山市", "长春市", "吉林市", "辽源市", "四平市", "松原市", "通化市", "延边朝鲜族自治州");
  city[10] = new Array("大庆市", "大兴安岭地区", "哈尔滨市", "鹤岗市", "黑河市", "鸡西市", "佳木斯市", "牡丹江市", "七台河市", "齐齐哈尔市", "双鸭山市", "绥化市", "伊春市");
  city[11] = new Array("常州市", "淮安市", "连云港市", "南京市", "南通市", "苏州市", "宿迁市", "泰州市", "无锡市", "徐州市", "盐城市", "扬州市", "镇江市");
  city[12] = new Array("杭州市", "湖州市", "嘉兴市", "金华市", "丽水市", "宁波市", "衢州市", "绍兴市", "台州市", "温州市", "舟山市");
  city[13] = new Array("安庆市", "蚌埠市", "亳州市", "巢湖市", "池州市", "滁州市", "阜阳市", "合肥市", "淮北市", "淮南市", "黄山市", "六安市", "马鞍山市", "宿州市", "铜陵市", "芜湖市", "宣城市");
  city[14] = new Array("福州市", "龙岩市", "南平市", "宁德市", "莆田市", "泉州市", "三明市", "厦门市", "漳州市");
  city[15] = new Array("抚州市", "赣州市", "吉安市", "景德镇市", "九江市", "南昌市", "萍乡市", "上饶市", "新余市", "宜春市", "鹰潭市");
  city[16] = new Array("滨州市", "德州市", "东营市", "菏泽市", "济南市", "济宁市", "莱芜市", "聊城市", "临沂市", "青岛市", "日照市", "泰安市", "威海市", "潍坊市", "烟台市", "枣庄市", "淄博市");
  city[17] = new Array("安阳市", "鹤壁市", "济源市", "焦作市", "开封市", "洛阳市", "漯河市", "南阳市", "平顶山市", "濮阳市", "三门峡市", "商丘市", "新乡市", "信阳市", "许昌市", "郑州市", "周口市", "驻马店市");
  city[18] = new Array("鄂州市", "恩施土家族苗族自治州", "黄冈市", "黄石市", "荆门市", "荆州市", "潜江市", "神农架林区", "十堰市", "随州市", "天门市", "武汉市", "仙桃市", "咸宁市", "襄樊市", "孝感市", "宜昌市");
  city[19] = new Array("长沙市", "常德市", "郴州市", "衡阳市", "怀化市", "娄底市", "邵阳市", "湘潭市", "湘西土家族苗族自治州", "益阳市", "永州市", "岳阳市", "张家界市", "株洲市");
  city[20] = new Array("潮州市", "东莞市", "佛山市", "广州市", "河源市", "惠州市", "江门市", "揭阳市", "茂名市", "梅州市", "清远市", "汕头市", "汕尾市", "韶关市", "深圳市", "阳江市", "云浮市", "湛江市", "肇庆市", "中山市", "珠海市");
  city[21] = new Array("白银市", "定西市", "甘南藏族自治州", "嘉峪关市", "金昌市", "酒泉市", "兰州市", "临夏回族自治州", "陇南市", "平凉市", "庆阳市", "天水市", "武威市", "张掖市");
  city[22] = new Array("阿坝藏族羌族自治州", "巴中市", "成都市", "达州市", "德阳市", "甘孜藏族自治州", "广安市", "广元市", "乐山市", "凉山彝族自治州", "泸州市", "眉山市", "绵阳市", "内江市", "南充市", "攀枝花市", "遂宁市", "雅安市", "宜宾市", "资阳市", "自贡市");
  city[23] = new Array("安顺市", "毕节地区", "贵阳市", "六盘水市", "黔东南苗族侗族自治州", "黔南布依族苗族自治州", "黔西南布依族苗族自治州", "铜仁地区", "遵义市");
  city[24] = new Array("白沙黎族自治县", "保亭黎族苗族自治县", "昌江黎族自治县", "澄迈县", "儋州市", "定安县", "东方市", "海口市", "乐东黎族自治县", "临高县", "陵水黎族自治县", "琼海市", "琼中黎族苗族自治县", "三亚市", "屯昌县", "万宁市", "文昌市", "五指山市");
  city[25] = new Array("保山市", "楚雄彝族自治州", "大理白族自治州", "德宏傣族景颇族自治州", "迪庆藏族自治州", "红河哈尼族彝族自治州", "昆明市", "丽江市", "临沧市", "怒江傈傈族自治州", "曲靖市", "思茅市", "文山壮族苗族自治州", "西双版纳傣族自治州", "玉溪市", "昭通市");
  city[26] = new Array("果洛藏族自治州", "海北藏族自治州", "海东地区", "海南藏族自治州", "海西蒙古族藏族自治州", "黄南藏族自治州", "西宁市", "玉树藏族自治州");
  city[27] = new Array("安康市", "宝鸡市", "汉中市", "商洛市", "铜川市", "渭南市", "西安市", "咸阳市", "延安市", "榆林市");
  city[28] = new Array("百色市", "北海市", "崇左市", "防城港市", "贵港市", "桂林市", "河池市", "贺州市", "来宾市", "柳州市", "南宁市", "钦州市", "梧州市", "玉林市");
  city[29] = new Array("阿里地区", "昌都地区", "拉萨市", "林芝地区", "那曲地区", "日喀则地区", "山南地区");
  city[30] = new Array("固原市", "石嘴山市", "吴忠市", "银川市", "中卫市");
  city[31] = new Array("阿克苏市", "阿拉尔市", "阿勒泰市", "阿图什市", "博乐市", "昌吉市", "阜康市", "哈密市", "和田市", "喀什市", "克拉玛依市", "库尔勒市", "奎屯市", "米泉市", "石河子市", "塔城市", "图木舒克市", "吐鲁番市", "乌鲁木齐市", "乌苏市", "五家渠市", "伊宁市");
  city[32] = new Array("阿拉善盟", "巴彦淖尔市", "包头市", "赤峰市", "鄂尔多斯市", "呼和浩特市", "呼伦贝尔市", "通辽市", "乌海市", "乌兰察布市", "锡林郭勒盟", "兴安盟");
  city[33] = new Array("澳门特别行政区");
  city[34] = new Array("香港特别行政区");
  $("#selectProv").on("change",function(){
    $("#selectCity").children("option").detach();
    $("#selectCity").append("<option>请选择市区</option>");
    var indexProv = $("#selectProv>option:selected").index();//取得选中的想的数组下标0
    if (indexProv > 0) {
      for (var i = 0; i < city[indexProv].length; i++) {
        $("#selectCity").append("<option>" + city[indexProv][i] + "</option>");
      }
      console.log( $("#selectProv>option:selected").val() + $("#selectCity>option:first").val() );
    }else {
      console.log( "请选择省份" );
    }
  });
  $("#selectCity").on("change",function(){
    console.log( $("#selectProv>option:selected").val() + $("#selectCity>option:selected").val() );
  });
});

运行效果图如下:

jQuery实现的省市联动菜单功能示例【测试可用】

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript奇异的arguments分析
Oct 20 Javascript
兼容FF和IE的动态table示例自写
Oct 21 Javascript
php+js实现倒计时功能
Jun 02 Javascript
jQuery中attr()方法用法实例
Jan 05 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
Jan 23 Javascript
原生JS实现响应式瀑布流布局
Apr 02 Javascript
jQuery 遍历函数详解
Jul 05 Javascript
全面解析Bootstrap表单使用方法(表单控件状态)
Nov 24 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
使用D3.js制作图表详解
Aug 13 Javascript
关于Angularjs中跨域设置白名单问题
Apr 17 Javascript
微信小程序搭建自己的Https服务器
May 02 Javascript
js实现交通灯效果
Jan 13 #Javascript
微信小程序 简单教程实例详解
Jan 13 #Javascript
javascript构造函数以及原型对象的理解
Jan 13 #Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 #Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
Jan 13 #Javascript
微信小程序(三):网络请求
Jan 13 #Javascript
Javascript自定义事件详解
Jan 13 #Javascript
You might like
PHP新手上路(六)
2006/10/09 PHP
php 删除无限级目录与文件代码共享
2008/11/22 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php数组指针操作详解
2017/02/14 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
原生PHP实现导出csv格式Excel文件的方法示例【附源码下载】
2019/03/07 PHP
ThinkPHP5与单元测试PHPUnit使用详解
2020/02/23 PHP
基于jquery的loading效果实现代码
2010/11/05 Javascript
node.js中的emitter.on方法使用说明
2014/12/10 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
js轮盘抽奖实例分析
2020/04/17 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
jQuery自定义插件详解及实例代码
2016/12/29 Javascript
node.js操作MongoDB的实例详解
2017/10/11 Javascript
微信小程序button组件使用详解
2018/01/31 Javascript
浅析node.js的模块加载机制
2018/05/25 Javascript
JavaScript树的深度优先遍历和广度优先遍历算法示例
2018/07/30 Javascript
inquirer.js一个用户与命令行交互的工具详解
2019/05/18 Javascript
使用 js 简单的实现 bind、call 、aplly代码实例
2019/09/07 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
django上传图片并生成缩略图方法示例
2017/12/11 Python
pyqt5实现俄罗斯方块游戏
2019/01/11 Python
python+pyqt5实现KFC点餐收银系统
2019/01/24 Python
python使用phoenixdb操作hbase的方法示例
2019/02/28 Python
Python实战之制作天气查询软件
2019/05/14 Python
详解pandas如何去掉、过滤数据集中的某些值或者某些行?
2019/05/15 Python
Django Celery异步任务队列的实现
2019/07/24 Python
python中Lambda表达式详解
2019/11/20 Python
Python re正则表达式元字符分组()用法分享
2020/02/10 Python
公司庆典邀请函范文
2014/01/13 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
诚信考试承诺书范文
2015/04/29 职场文书
教师节班会主持词
2015/07/06 职场文书
初一年级组工作总结
2015/08/12 职场文书
mysql在项目中怎么选事务隔离级别
2021/05/25 MySQL
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL