《js基础-中国城市筛选》js读取json文件

36 篇文章 1 订阅
11 篇文章 0 订阅

前述:终于抽出时间,整理了一些编程所需基础知识。

请提前看:

1、《js基础-select选择标签》https://blog.csdn.net/xysxlgq/article/details/119580815
2、《js读取本地json文件》https://blog.csdn.net/xysxlgq/article/details/119568570

中国城市筛选:

方法二:js中国城市筛选

先看效果:

1、先生成省份信息;

2、选择需要的省份后城市列中生成城市数据。

主要code:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>中国城市筛选</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
中国城市:
<div>
    省份:<select class="st_css_province" id="st_id_province" onchange="st_province()"></select>
    城市:<select class="st_css_city" id="st_id_city"></select>
</div>
<script type="text/javascript">
    var select = document.getElementById('st_id_province');
    var city = document.getElementById('st_id_city');

    var json;//必须异步才可定全局变量。
    $.ajax({
        url: "ChinaCity.json",
        type: "get",
        dataType: "json",
        async: false,//异步
        success: function (data) {
            json = data;
        }
    });
    var jsonobj = eval(json.provinces);
    //省份
    var option = document.createElement('option');
    option.value = "--------请选择:--------";
    option.innerText = "--------请选择:--------";
    select.appendChild(option);
    for (i = 0; i < jsonobj.length; i++) {
        var option = document.createElement('option');
        var province = jsonobj[i].provinceName;
        option.value = province;
        option.innerText = province;
        select.appendChild(option);
    }

    //城市
    function st_province() {
        var value = select.options[select.selectedIndex].value;
        if (select.selectedIndex > 0) {
            city.length=0;
            var option = document.createElement('option');
            option.value = "--------请选择:--------";
            option.innerText = "--------请选择:--------";
            city.appendChild(option);
            for (i = 0; i < jsonobj.length; i++) {
                if (jsonobj[i].provinceName == value) {
                    if (jsonobj[i].citys.length > 0) {
                        for (citysvalue in jsonobj[i].citys) {
                            var cityname = jsonobj[i].citys[citysvalue].citysName;
                            var option = document.createElement('option');
                            option.value = cityname;
                            option.innerText = cityname;
                            city.appendChild(option);
                        }
                    }
                }
            }
        }
    }
</script>
</body>
</html>

json格式如:

json城市文件:

<script type="text/javascript" src="http://www.shicishu.com/down/provincecity.data.min.js"></script>

<script type="text/javascript" src="http://www.shicishu.com/down/provincecity.min.js"></script>

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值