省市县三级联动请求本地JSON文件

标签(空格分隔): js


本地JSON,格式大概是

{
    "para": [{
            "childs": [{
                    "childs": [{
                            "childs": [],
                            "code": "110101",
                            "id": "378",
                            "name": "东城区",
                            "parentId": "33"
                        }
                        {
                            "childs": [],
                            "code": "110108",
                            "id": "385",
                            "name": "海淀区",
                            "parentId": "33"
                        },
                        {
                            "childs": [],
                            "code": "110114",
                            "id": "390",
                            "name": "昌平区",
                            "parentId": "33"
                        }
                    ],
                    "code": "110100",
                    "id": "33",
                    "name": "市辖区",
                    "parentId": "2"
                },
                {
                    "childs": [{
                            "childs": [],
                            "code": "110228",
                            "id": "394",
                            "name": "密云县",
                            "parentId": "34"
                        },
                        {
                            "childs": [],
                            "code": "110229",
                            "id": "395",
                            "name": "延庆县",
                            "parentId": "34"
                        }
                    ],
                    "code": "110200",
                    "id": "34",
                    "name": "县",
                    "parentId": "2"
                }
            ],
            "code": "110000",
            "id": "2",
            "name": "北京市",
            "parentId": "0"
        },]

使用的是nginx配置的服务器

js中ajax请求

var dataPro;
ajaxData();

//省触发加载市 data-code是省市县代码 获取方式是  eg:$("select[name='casePro']").find("option:selected").attr("data-code");
function changePro(proDom, cityDom, disDom) {
    var proNum = proDom.prop('selectedIndex');
    var optionCity = "";
    disDom.html(optionCity);
    for (var m = 0; m < dataPro[proNum].childs.length; m++) {
        optionCity += "";
    }
    cityDom.html(optionCity);
}
//市触发加载县
function changeCity(proDom, cityDom, disDom) {
    var proNum = proDom.prop('selectedIndex');
    var cityNum = cityDom.prop('selectedIndex') - 1; //区
    var optionDis = "";
    for (var j = 0; j < dataPro[proNum].childs[cityNum].childs.length; j++) {
        optionDis += "";
    }
    disDom.html(optionDis);
}
// 请求省市县数据
function ajaxData() {
    $.ajax({
        type: "get", //请求方式
        url: "../../../js/common/placecode.json", //文件位置
        dataType: "json",
        async: false, //设置异步
        success: function (data) { //请求成功
            dataPro = data.para;
        }
    })

}
//省市县三级联动  加载省的数据
function fillPro(proDom) {
    var optionPro = "";
    for (var i = 0; i < dataPro.length; i++) {
        optionPro += "";
    }
    proDom.html(optionPro);
}

调用

 fillPro($("select[name='casePro']")); //省
// 省市县三级联动---以及code填充的加载
$("select[name='casePro']").change(function () {
    changePro($("select[name='casePro']"), $("select[name='caseCity']"), $("select[name='caseDistrict']"));
    if ($("input[name='caseNumber']")) {
        $("input[name='caseNumber']").val($("select[name='casePro']").find("option:selected").attr("data-code"));
    }
})
//给市加触发事件
$("select[name='caseCity']").change(function () {
    changeCity($("select[name='casePro']"), $("select[name='caseCity']"), $("select[name='caseDistrict']"));
    if ($("input[name='caseNumber']")) {
        $("input[name='caseNumber']").val($("select[name='caseCity']").find("option:selected").attr("data-code"));
    }
})
//给区加触发事件
$("select[name='caseDistrict']").change(function () {
    $("input[name='caseNumber']").val($("select[name='caseDistrict']").find("option:selected").attr("data-code"));
})

你可能感兴趣的:(省市县三级联动请求本地JSON文件)