1. 程式人生 > >獲取省、市、區的js程式碼控制

獲取省、市、區的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');
}

在沒有選擇省的時候,不能選擇市,在選擇了相應地省之後,更換到相應地市的下邊,在更換了相應地市之後,更換到相應地縣區的下邊。

首先市初始化省份,可以選擇省份,在初始化了省份之後,可以根據省份選擇市區,再根據市區選擇相應地縣區。就是這樣地控制的。