// Ajax获取数据,本地json文件
function getData() {
    $.ajax({
        url: './json/third-level-address.json', // 本地json文件位置
        type: 'get', // ajax 获取方式
        async: false, // 是否异步
        success: function (data) { // 成功,返回data
            if (data == "error") {
                alert("系统错误");
                return;
            }
            dataJson = data; 
        }
    });
    return dataJson; //返回json数据
}

// 获取province(省)
function getCountry() {
    var data = getData(); // 获取json数据
    var options = "<option value='0'>--请选择--</option>"; //定义初始选项
    for (var i in data) {  //循环json数据
        options += "<option value='" + data[i].code + "' selected>" + data[i].name + "</option>"; // 给选项(options) 添加属性value以及显示的数据(城市名称)
        $("#province").html(options); // 通过jQuery 将选项添加到下拉框(province)
    }
}
// 获取City(城市)
function getCity(countryCode) {  // 参数 :countryCode 是json 数据中省份的 Code
    var data = getData(); // 获取json数据
    $('#city').empty();  // 先置空city的选项,无所谓
    var options = "<option value='0'>--请选择--</option>"; //定义初始选项
    for (var i in data) {  //循环json数据
        for (let j = 0; j < data[i].children.length; j++) { // 这个循环是判断省份下面城市的数量,不循环,获取不到其他的城市,只能获取一个
            if (countryCode && countryCode == data[i].code) {  // 通过Code 判断来显示城市
                options += "<option value='" + data[i].children[j].code + "' selected>" + data[i].children[j].name + "</option>"; // 这里注意:children[j],一定要是j,如果填写[i],会超过城市的数量(数组越界)会报错!!!
            }

        }
        $("#city").html(options); // 通过jQuery 将选项添加到下拉框(city) 
    }

}
// 获取Area(区域)
function getArea(cityCode) { // 参数 :cityCode 是json 数据中市的 Code
    var data = getData(); // 获取json数据
    var options = "<option value='0'>--请选择--</option>"; // 定义初始选项
    for (var i in data) { //循环json数据
        for (let j = 0; j < data[i].children.length; j++) {  // 这个循环是判断省份下面城市的数量,不循环,获取不到其他的城市,只能获取一个
            for (let k = 0; k < data[i].children[j].children.length; k++) { // 这里的循环是获取城市城市下面区域的数量长度,同上,否则只会获取一个数据
                if (cityCode && cityCode == data[i].children[j].code) {  // 通过Code 判断来显示区域
                    options += "<option value='" + data[i].children[j].children[k].code + "' selected>" + data[i].children[j].children[k].name + "</option>";  // 这里的children[j].children[k]同上,否则数组越界报错
                }
            }
        }
        $("#area").html(options); // 通过jQuery 将选项添加到下拉框(area)
    }

}