1、可以单独定义一个js,保存省市json数据。

citydata = {
"安徽": [
"合肥",
"芜湖",
"蚌埠",
"淮南",
"马鞍山",
"淮北",
"铜陵",
"安庆",
"黄山",
"阜阳",
"宿州",
"滁州",
"六安",
"宣城",
"池州",
"亳州",
"其他"
],
"北京": [
"北京"
],
"重庆": [
"重庆"
],
"福建": [
"福州",
"厦门",
"莆田",
"三明",
"泉州",
"漳州",
"南平",
"龙岩",
"宁德",
"平潭",
"其他"
],
"甘肃": [
"兰州",
"嘉峪关",
"金昌",
"白银",
"天水",
"酒泉",
"张掖",
"武威",
"定西",
"陇南",
"平凉",
"庆阳",
"临夏回族自治州",
"甘南藏族自治州",
"其他"
],
"广东": [
"广州",
"深圳",
"珠海",
"汕头",
"佛山",
"韶关",
"湛江",
"肇庆",
"江门",
"茂名",
"惠州",
"梅州",
"汕尾",
"河源",
"阳江",
"清远",
"东莞",
"中山",
"潮州",
"揭阳",
"云浮",
"其他"
],
"广西": [
"南宁",
"柳州",
"桂林",
"梧州",
"北海",
"防城港",
"钦州",
"贵港",
"玉林",
"百色",
"贺州",
"河池",
"来宾",
"崇左",
"南宁",
"柳州",
"其他"
],
"贵州": [
"贵阳",
"六盘水",
"遵义",
"安顺",
"毕节",
"铜仁",
"黔西南",
"黔东南",
"黔南",
"其他"
],
"海南": [
"海口",
"三亚",
"三沙",
"儋州",
"其他"
],
"河北": [
"石家庄",
"唐山",
"秦皇岛",
"邯郸",
"邢台",
"保定",
"张家口",
"承德",
"沧州",
"廊坊",
"衡水",
"定州",
"辛集",
"其他"
],
"黑龙江": [
"哈尔滨",
"齐齐哈尔",
"鸡西",
"鹤岗",
"双鸭山",
"大庆",
"伊春",
"佳木斯",
"七台河",
"牡丹江",
"黑河",
"绥化",
"大兴安岭",
"绥芬河",
"抚远",
"其他"
],
"河南": [
"郑州",
"开封",
"洛阳",
"平顶山",
"安阳",
"鹤壁",
"新乡",
"焦作",
"濮阳",
"许昌",
"漯河",
"三门峡",
"南阳",
"商丘",
"周口",
"信阳",
"驻马店",
"济源",
"其他"
],
"湖北": [
"武汉",
"黄石",
"十堰",
"宜昌",
"襄阳",
"鄂州",
"荆门",
"孝感",
"荆州",
"黄冈",
"咸宁",
"随州",
"恩施土家族苗族自治州",
"仙桃",
"潜江",
"天门",
"神农架",
"其他"
],
"湖南": [
"长沙",
"株洲",
"湘潭",
"衡阳",
"邵阳",
"岳阳",
"常德",
"张家界",
"益阳",
"郴州",
"永州",
"怀化",
"娄底",
"湘西土家族苗族自治州",
"其他"
],
"内蒙古": [
"呼和浩特",
"包头",
"乌海",
"赤峰",
"通辽",
"鄂尔多斯",
"呼伦贝尔",
"巴彦淖尔",
"乌兰察布盟",
"兴安盟",
"锡林郭勒盟",
"阿拉善盟",
"其他"
],
"江苏": [
"南京",
"无锡",
"徐州",
"常州",
"苏州",
"南通",
"连云港",
"淮安",
"盐城",
"扬州",
"镇江",
"泰州",
"宿迁",
"其他"
],
"江西": [
"南昌",
"九江",
"上饶",
"抚州",
"宜春",
"吉安",
"赣州",
"景德镇",
"萍乡",
"新余",
"鹰潭",
"其他"
],
"吉林": [
"长春",
"吉林",
"四平",
"辽源",
"通化",
"白山",
"白城",
"松原",
"延边朝鲜族自治州",
"吉林省长白山保护开发区",
"梅河口",
"公主岭",
"其他"
],
"辽宁": [
"沈阳",
"大连",
"鞍山",
"抚顺",
"本溪",
"丹东",
"锦州",
"营口",
"阜新",
"辽阳",
"盘锦",
"铁岭",
"朝阳",
"葫芦岛",
"其他"
],
"宁夏": [
"银川",
"石嘴山",
"吴忠",
"固原",
"中卫",
"其他"
],
"青海": [
"西宁",
"海东",
"海北",
"黄南",
"海南",
"果洛",
"玉树",
"海西"
],
"山西": [
"太原",
"大同",
"阳泉",
"长治",
"晋城",
"朔州",
"晋中",
"运城",
"忻州",
"临汾",
"吕梁",
"其他"
],
"山东": [
"济南",
"青岛",
"淄博",
"枣庄",
"东营",
"烟台",
"潍坊",
"济宁",
"泰安",
"威海",
"日照",
"莱芜",
"临沂",
"德州",
"聊城",
"滨州",
"菏泽",
"其他"
],
"上海": [
"上海"
],
"四川": [
"成都",
"绵阳",
"自贡",
"攀枝花",
"泸州",
"德阳",
"广元",
"遂宁",
"内江",
"乐山",
"资阳",
"宜宾",
"南充",
"达州",
"雅安",
"阿坝",
"甘孜",
"凉山",
"眉山",
"广安",
"巴中",
"其他"
],
"天津": [
"天津"
],
"西藏": [
"拉萨",
"昌都",
"山南",
"日喀则",
"那曲",
"阿里",
"林芝",
"其他"
],
"新疆": [
"乌鲁木齐",
"克拉玛依",
"吐鲁番",
"哈密",
"阿克苏",
"喀什",
"和田",
"昌吉",
"博尔塔拉",
"巴音郭楞",
"克孜勒苏",
"伊犁",
"其他"
],
"云南": [
"昆明",
"曲靖",
"玉溪",
"昭通",
"保山",
"丽江",
"普洱",
"临沧",
"德宏",
"怒江",
"迪庆",
"大理",
"楚雄",
"红河",
"文山",
"西双版纳",
"其他"
],
"浙江": [
"杭州",
"宁波",
"温州",
"嘉兴",
"湖州",
"绍兴",
"金华",
"衢州",
"舟山",
"台州",
"丽水",
"其他"
],
"陕西": [
"西安",
"宝鸡",
"铜川",
"咸阳",
"渭南",
"延安",
"汉中",
"榆林",
"安康",
"商洛",
"杨凌示范区",
"其他"
]
}

2、页面引入省市 数据的js。

<script src="${pageContext.request.contextPath}/js/cityjson.js"></script>

3、js部分

$(function() {

        $.each(citydata, function (key, value) {
//根据数据创建option并追加到select上
var option = "<option value=" + key + ">" + key + "</option>";
options += option;
});
$("[name='province']").after(options);
});
function getcity(pro){
var province = $(pro).val();
var city = $("[name='city']");
//找到市的信息
var citys = citydata[province];
//删除原来市的信息
city.empty();
city.append("<option value='all'>全部</option>");
//添加option
$.each(citys, function (index, item) {
city.append("<option value='"+item+"'>" + item + "</option>");
});
}

4、下拉框定义。

    <form>
<label>省:
<select name="province" style="width: 80px" onchange="getcity(this)">
<option selected="selected" value="all">全部</option>
</select> </label>
<label>市:
<select name="city"style="width: 80px">
<option selected="selected" value="all">全部</option>
</select> </label> <button type="button">Submit</button>
</form>

完成。

jquery 实现省市二级联动,附带完整的省市json数据 (粘贴即用)的更多相关文章

  1. jQuery_完成省市二级联动

    当填表的时候会让你设计某省某市怎么设计,应该明白,如果你选择了一个确定的省,那么在第二个下拉框内则不会有除了你选择的省的市之外的名称.而这功能用js来实现很麻烦,但是用jq确很容易实现. 原表结构: ...

  2. 省市二级联动(原生JS)

    代码如下: <html> <head> <meta charset="UTF-8"> <title>省市二级联动</title ...

  3. 省市二级联动--使用app-jquery-cityselect.js插件

    只有省市二级联动,三级联动还没处理好,会尽快完善. 嵌入id: <div class="form-group"> <label>地址</label&g ...

  4. 微信小程序picker组件 - 省市二级联动

    picker 从底部弹起的滚动选择器,现支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器. picker官方文档链接 由于项目需 ...

  5. JavaScript 实现省市二级联动

    JavaScript 实现省市二级联动 版权声明:未经授权,严禁转载! 案例代码 <style> .hide { display: none; } </style> <s ...

  6. 份-城市,基于jQuery的AJAX二级联动,用Struts2整合AJAX【非数据库版】

    package loaderman.provincecity; import java.io.IOException; import java.util.LinkedHashSet; import j ...

  7. js省市二级联动实例

    //动态创建省市二级联动<!DOCTYPE html><html lang="en"><head> <meta charset=" ...

  8. iOS开发之"省市"二级联动的数据组织(PHP版)以及PickerView的实现与封装

    之所以要发表这篇博客,还源于最近的开发工作所实现的一个小的Demo, 当然这个Demo不会涉及工作中App的一些内容,下方要实现的Demo是通用的.因为项目需求的迭代,要求在银行卡绑定中添加支行所在的 ...

  9. Asp.Net下,基于Jquery的Ajax二级联动

    最近做一个项目,要求实现二级联动效果.背景为:通过学院的选择,联动出专业选项.起初想直接用微软的控件实现Ajax效果,但是DropDownList控件会自动触发PostBack,在后台根本就不好控制, ...

随机推荐

  1. Python基础之函数参数

    一.实参 1.实参分类: 2.实参基础代码: def fun01(a, b, c): print(a) print(b) print(c) # 位置传参:实参与形参的位置依次对应 fun01(1, 2 ...

  2. FCC(ES6写法) No repeats please

    把一个字符串中的字符重新排列生成新的字符串,返回新生成的字符串里没有连续重复字符的字符串个数.连续重复只以单个字符为准. 例如, aab 应该返回 2 因为它总共有6中排列 (aab, aab, ab ...

  3. [Swift]LeetCode96. 不同的二叉搜索树 | Unique Binary Search Trees

    Given n, how many structurally unique BST's (binary search trees) that store values 1 ... n? Example ...

  4. [Swift]LeetCode199. 二叉树的右视图 | Binary Tree Right Side View

    Given a binary tree, imagine yourself standing on the right side of it, return the values of the nod ...

  5. [Swift]LeetCode227. 基本计算器 II | Basic Calculator II

    Implement a basic calculator to evaluate a simple expression string. The expression string contains ...

  6. [Swift]LeetCode539. 最小时间差 | Minimum Time Difference

    Given a list of 24-hour clock time points in "Hour:Minutes" format, find the minimum minut ...

  7. [Swift]LeetCode816. 模糊坐标 | Ambiguous Coordinates

    We had some 2-dimensional coordinates, like "(1, 3)" or "(2, 0.5)".  Then, we re ...

  8. linux终端文本编辑神器vi的使用

    vi —— 终端中的编辑器 目标 vi 简介 打开和新建文件 三种工作模式 常用命令 分屏命令 常用命令速查图 01. vi 简介 1.1 学习 vi 的目的 在工作中,要对 服务器 上的文件进行 简 ...

  9. 【Spark篇】---SparkStream初始与应用

    一.前述 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的实时数据流处理,实时数据的来源可以是:Kafka, Flume, Twitter, Zer ...

  10. DOM事件第二弹(UIEvent事件)

    此文章主要总结UIEvent相关的事件,如有不对的地方,欢迎指正. 一.uitls.js(绑定事件公共类) var fixs = { 'focusin': { standard: 'focus', i ...