获取省、市、区的js代码控制


$(function() {
    // 初始化省市区
    initAddress();
    // 更改省份后的操作
    $("select[name='province']").change(function() {
        var provCode = $("select[name='province']").val();
        getCity(provCode);
    });
    // 更改城市后的操作
    $("select[name='city']").change(function() {
        var cityCode = $("select[name='city']").val();
        getArea(cityCode);
    });
});

function initAddress() {

    var firstProvCode;
    // ajax请求所有省份
    $.get("/site/get_Province", {
        method : "initProvince"
    }, function(data) {

        var province = $("#province").val();

        $.each(data, function(i, d) {
            if(province==d.codeP){
                $("select[name='province']").append(
                    "<option value='"+d.codeP+"'selected>" + d.name
                    + "</option>");
            }else{
                $("select[name='province']").append(
                    "<option value='"+d.codeP+"'>" + d.name
                    + "</option>");
            }

        });
        // 获取第一个省份的code
        firstProvCode = data[0].codeP;
        // 根据第一个省份code获取对应城市列表
        getCity(firstProvCode);
    }, 'json');

}

//获取对应城市列表(里面包括获取第一个城市的区县列表)
function getCity(codeP) {

    var firstCityCode;
    var city = $("#city").val();
    // ajax请求所有市级单位
    $.get("/site/get_city", {
        method : "getCity",
        codeP : codeP
    }, function(data) {

        // 先清空城市下拉框
        $("select[name='city']").empty();

        $.each(data, function(i, d) {
            if(city==d.codeC){
                $("select[name='city']").append(
                    "<option value='"+d.codeC+"'selected>" + d.name
                    + "</option>");
            }else{
                $("select[name='city']").append(
                    "<option value='"+d.codeC+"'>" + d.name
                    + "</option>");
            }

        });

        // 获取第一个城市的code
        firstCityCode = data[0].codeC;
        // 根据第一个城市code获取对应区县列表
        getArea(firstCityCode);

    }, 'json');
}

function getArea(codeC) {
    var area = $("#area").val();
    // ajax请求所有区县单位
    $.get("/site/get_area", {
        method : "getArea",
        codeC : codeC
    }, function(data) {

        // 先清空区县下拉框
        $("select[name='area']").empty();
        $.each(data, function(i, d) {
            if(area==d.codeA){
                $("select[name='area']").append(
                    "<option value='"+d.codeA+"'selected>" + d.name
                    + "</option>");
            }else{
                $("select[name='area']").append(
                    "<option value='"+d.codeA+"'>" + d.name
                    + "</option>");
            }

        });
    }, 'json');
}

在没有选择省的时候,不能选择市,在选择了相应地省之后,更换到相应地市的下边,在更换了相应地市之后,更换到相应地县区的下边。

首先市初始化省份,可以选择省份,在初始化了省份之后,可以根据省份选择市区,再根据市区选择相应地县区。就是这样地控制的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值