jquery实现省市区三级地址级联展示

这是一个小练习,主要是学习如何使用jquery实现省市区的三级级联展示,主要参考了:http://www.jb51.net/article/66948.htm,在此表示感谢,(*^__^*) 嘻嘻……

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>注册新用户</title>
    <link href="../css/login.css" rel="stylesheet" />
</head>
<body>
    <div id="top">
        <h3 style="color:#ff0000">欢迎新用户注册</h3>
    </div>
    <div id="middle">
   <p><b>个人基本信息</b></p>
        <form id="myform" method="post">
        用户名:<input type="text" name="username" id="username" value="用户名由4-6个字符组成" />

        密码:<input type="password" name="password" id="password"/><br />
        性别:<input type="radio"  name="sex" value="female"/>女
              <input type="radio" name="sex"  value="male"/>男<br />
        电话:<input type="text" id="phonenum"/><br />
        邮箱地址:<input type="text" id="email"/><br />
        联系地址:<select id="province" style="width:100px">
                 <option value="0" id="s1">请选择省份</option>
                  </select>
            <select id="city" style="width:100px">
                <option value="0" id="s2">请选择城市</option>
            </select>
            <select id="area" style="width:100px">
                <option value="0" id="s3">请选择县级市</option>
            </select><br />
        <input type="submit"   value="submit" id="mit"  onsubmit="validate()"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <input type="reset"  value="reset"   id="set"/>
        </form>

    </div>

    <script type="text/javascript" src="http://code.jquery.com/jquery-2.1.4.min.js"></script>
    <script type="text/javascript" src="../js/login.js"></script>
</body>
</html>
$(document).ready(function () {
    //省
    $.ajax({
        url: "../citys.xml",
        success: function (xml) {
            $(xml).find("province").each(function () {
                var pro = $(this).attr("name");
                $("#province").append("<option>" + pro + "</option>");

            })
        }
    })
    //市
    $("#province").change(function () {
        //$("#city>option").remove();
        $("#city").find("option").remove();
        $("#area>option").remove();
        var pname = $("#province").val();
        $.ajax({
            url: "../citys.xml",
            success: function (xml) {
                //查找省下一级的所有市
                $(xml).find("province[name=‘" + pname + "‘]>city").each(function () {
                    var city = $(this).attr("name");
                    $("#city").append("<option>" + city + "</option>");

                });
                //查找市下一级所有的县级市或者区
                var cname = $("#city").val();
                $(xml).find("city[name=‘" + cname + "‘]>area").each(function () {
                    var area = $(this).attr("name");
                console.log(cname);
                    $("#area").append("<option>" + area + "</option>");

                });
            }
        });

    });
    //县级市或者区
    $("#city").change(function () {
        $("#area>option").remove();
        var cname = $("#city").val();
        $.ajax({
            url: "../citys.xml",
            success: function (xml) {
                //查找市下一级的地级市或者区
                $(xml).find("city[name=‘" + cname + "‘]>area").each(function () {
                    var area = $(this).attr("name");
                    $("#area").append("<option> " + area + "</option>");

                });
            }

        });

    });

});
#top{
    text-align:center;
    padding-bottom:5px;
    border-bottom:dotted;
}

#middle{
    font-size:10px;
}

#middle #username,#password,#phonenum,#email{
    width:150px;
    height:15px;
    font-family:‘Lucida Sans‘, ‘Lucida Sans Regular‘, ‘Lucida Grande‘, ‘Lucida Sans Unicode‘, Geneva, Verdana, sans-serif;
    font-size:5px;
    margin-top:8px;
}

#middle #myform #province,#city,#area{
    font-size:8px;
    font-family:‘Times New Roman‘, Times, serif;
    margin-top:8px;

}
#middle #mit,#set{
    margin-top:10px;

}
<?xml version="1.0" encoding="utf-8" ?>
<root>
  <province name="湖北省">
    <city  name="荆门市">
      <area name="钟祥市"></area>
      <area name="沙洋市"></area>
      <area name="京山县"></area>
      <area name="东宝区"></area>
      <area name="象山区"></area>
    </city>
    <city name="武汉市">
      <area name="武昌区"></area>
      <area name="汉口"></area>
      <area name="汉阳"></area>
      <area name="东西湖"></area>
      <area name="新洲"></area>
    </city>
    <city name="黄冈市">
      <area name="武穴市"></area>
      <area name="蕲春县"></area>
      <area name="浠水县"></area>
      <area name="黄梅县"></area>
      <area name="孝感县"></area>
    </city>
  </province>

  <province name="广东省">
    <city  name="广州市">
      <area name="天河区"></area>
      <area name="白云区"></area>
      <area name="越秀区"></area>
      <area name="萝岗区"></area>
      <area name="番禺区"></area>
    </city>
    <city name="深圳市">
      <area name="龙岗区"></area>
      <area name="福田区"></area>
      <area name="南山区"></area>
      <area name="龙华新区"></area>
      <area name="宝安区"></area>
    </city>

  </province>

</root>
时间: 2024-10-17 02:48:41

jquery实现省市区三级地址级联展示的相关文章

用jQuery实现省市区三级联动(可做插件)

用jQuery实现省市区三级联动(可做插件) 有参考别的文档,如有雷同,不胜感激 先上效果图 上三级联动代码 city.html <!DOCTYPE html> <html> <head> <title>city.html</title> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能

使用PHP+MySql+Ajax+jQuery实现省市区三级联动功能 要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates表查询 Ajax加载数据 1.这是chinastates表 2.做一个简单php:Ajax_eg.php <!DOCTYPE html><html>    <head>        <meta c

夜深了,写了个JQuery的省市区三级级联效果

刚刚练手的JQuery,希望大神们指正 主要实现以下功能: 1.三级菜单级联加载数据 2.可以在不操作脚本的情况下,给元素加属性实现级联功能 3.自定义动态显示数据 咨询问题: 对于一般比较固定不变的数据,是不是应该生成静态的文件,直接加载整个数据文件,访问文件比较好?还是这样动态的访问比较好? 一般的数据文件,小的会在50k,大的会在3M 这个可以讨论下 1 /** 2 省市区县级联 3 */ 4 (function($){ 5 6 /* 7 * 8 *获取ele的相对元素 9 * 10 **

用php+mysql+ajax+jquery做省市区三级联动

要求:写一个省市区(或者年月日)的三级联动,实现地区或时间的下拉选择. 实现技术:php ajax 实现:省级下拉变化时市下拉区下拉跟着变化,市级下拉变化时区下拉跟着变化. 使用chinastates表查询 Ajax加载数据 1.这是chinastates表 2.做一个简单html:ssq.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/x

用jsp实现省市区三级联动下拉

jsp+jquery实现省市区三级联动下拉 不少系统都需要实现省市区三级联动下拉,像人口信息管理.电子商务网站.会员管理等,都需要填写地址相关信息.而用ajax实现的无刷新省市区三级联动下拉则可以改善用户体验,目前基本上所有网站都是采用这一种方式.现在ajax的使用已经不像最初那样使用最原始的方法了,因为有很多的js框架供我们选择,我们只需要调用它们的一个方法就可以实现ajax功能,而其他的则交给js组件去完成. 最近整理了一份最新的全国省市区县数据库,再加上之前还没有在jsp中实现过省市区三级

v-distpicker 前端展示三级地址,返回名称及对应的编码

背景: 使用v-distpicker前端展示省市区,并将选中的结果返回给后端,后端展示所选择的 省市区或对应的地区编码 官方地址: https://distpicker.pigjian.com/ 官方文档的介绍及demo也很清晰,根据所选择的省市区会对应返回 名称.编码,如: 使用: 1.先安装 v-distpicker 1 npm install v-distpicker --save 或 1 yarn add v-distpicker --save 2.main.js 引入 Distpick

jquery省市区三级联动(数据来源国家统计局官网)内附源码下载

很久很久没有写博了. 今天更新了项目的省市区三级联动数据,更新后最新的海南三沙都有,分享给所有需要的小伙伴们... JQUERY + JSON,无数据库,纯JS代码,无加密,无压缩,可直接使用在任何项目中. 数据来源于国家统计局官网. 先上图: 绑定省市区 使用方法: 1. 引用JQUERY    <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/1.11.1/jquery.min

收货地址--实现省市区三级联动和使用drf-extensions扩展使用缓存

主要实现省市区三级联动和在Django REST framework中使用缓存. 在用户录入地址时,需要进行省市区的选择.在页面加载时,向后端请求省份数据,当用户选择确定省份后,向后端请求该省份的城市数据:在用户选择确定城市数据后,向后端请求该城市的区县信息.我们把这个过程称为省市区三级联动. 我们新建一个应用areas来实现省市区三级联动. 1)终端:cd meiduo_mall/meiduo_mall/apps 2)创建areas子应用:python ../../manage.py star

javaWeb数据库动态加载全国省市区三级联动

首先声明一下,全国省市区三级联动有很多的插件.没有必要这么麻烦的把省市区存到数据库,然后再获取.这样缺点很明显: 缺点:使用数据库,每次动态ajax获取数据都要操作一次数据库,增加了数据库的负担.不推荐这样做,直接使用插件比较好. 一些Jquery插件比较省时省力,不用来回操作数据库,就能达到你想要的效果,页面修饰就要自己设计咯.而且使用数据库你还要事先把省市区数据存到数据库,耗费精力,及时有一些现成的sql文件可以导入.但是感觉好麻烦有没有,博主算是试了一次. 好了说了很多废话,开始上代码吧: