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

百度的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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,029评论 25 708
  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,258评论 3 283
  • 我一直在寻找,走过一个街道时,路过一幢方屋时,经过一个花园时,在人群涌动中,突然一回头,遇见另一个自己,那该是多令...
    阿木的树阅读 428评论 0 0
  • 刚开始的我其实真的纯真的以为这个世界很单纯,很奇妙,可是就在前几天我发现我错了。 从来没有失过分的我,在查...
    駑醴阅读 209评论 0 0
  • 来山上的第一周写了一篇文章,今天又打开写文章的页面,猛然发现这两篇文章恰好一头一尾,记录着我在湖北梵音瑜伽静修中心...
    慧心情阅读 583评论 0 0