美文网首页
AreaJSON,省市区显示,三级联动

AreaJSON,省市区显示,三级联动

作者: 影之封封 | 来源:发表于2017-05-22 22:24 被阅读199次

百度的AreaJSON

不知道百度的URL能不能一直能用
https://passport.baidu.com/js/sitedata_bas.js

demo效果图

demo效果图

demo下载地址
密码:tpqb

html参考例子

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>

    <!-- 百度的链接不知道会不会一直能用 -->
    <script type="text/javascript" src="https://passport.baidu.com/js/sitedata_bas.js" charset="GBK"></script>
    <!-- <script type="text/javascript" src="arrCity.js" charset="utf-8"></script> -->
</head>
<body>
<select id="a" onchange="functionA()"></select>
<select id="b" onchange="functionB()"></select>
<select id="c" hidden="hidden"></select>
</body>

<script language="JavaScript">
    var arrCity = arrCity;//省份或者直辖市
    var b = []; //二级城市

    var selectA = document.getElementById("a");
    var selectB = document.getElementById("b");
    var selectC = document.getElementById("c");

    for(var i = 0; i < arrCity.length; i++) {
        var option = "<option value='" + i +"'>" + arrCity[i].name + "</option>";
        selectA.innerHTML = selectA.innerHTML + option;
    }


    function functionA() {
        selectC.setAttribute("hidden", "hidden");

        var value = selectA.value;
        b = arrCity[value].sub;//获取二级城市

        selectB.innerHTML = "";
        for(var i = 0; i < b.length; i++) {
            var option = "<option value='" + i +"'>" + b[i].name + "</option>";
            selectB.innerHTML = selectB.innerHTML + option;
        }
    }
    function functionB() {
        var value = selectB.value;
        var c = b[value].sub;//获取三级区域

        if (c === undefined) {//判断区域是否存在
            selectC.setAttribute("hidden", "hidden");
            return;
        }
        selectC.removeAttribute("hidden");
        selectC.innerHTML = ""
        for(var i = 0; i < b.length; i++) {
            var option = "<option value='" + i +"'>" + c[i].name + "</option>";
            selectC.innerHTML = selectC.innerHTML + option;
        }
    }
</script>
</html>

相关文章

网友评论

      本文标题:AreaJSON,省市区显示,三级联动

      本文链接:https://www.haomeiwen.com/subject/mrbixxtx.html