分享一个自己的城市三级联动代码

这是自己写的城市三级联动代码,给大家分享下~

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <select id="one">
        <option value="">---</option>
    </select>
    <select id="two">
        <option value="" id="yy">---</option>
    </select>
    <select id="thr">
    </select>

    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.11.3/jquery.js"></script>
    <script>
        let city = null;
        let cs = null
        var xhr = new XMLHttpRequest()
        xhr.onreadystatechange = () => {
            if (xhr.readyState == 4 && xhr.status == 200) {
                var main = JSON.parse(xhr.responseText)
                city = main
                console.log(main)
                $.each(main, (index, ele) => {
                    $("#one").append(`<option value="${ele.code}">${ele.name}</option>`)
                })
            } else {
                // console.log("err")
            }
        }
        xhr.open("GEt", "./area-json.json", true)
        xhr.send()

        $("#one").on("change", () => {
            $("#yy").siblings().remove()
            $("#thr option").remove()
            console.log($("#one").val())
            $.each(city, (index, ele) => {
                if (!ele.children) {
                    return
                } else {
                    if (ele.code == $("#one").val()) {
                        console.log(ele.children)
                        $.each(ele.children, (index, ele) => {
                            $("#two").append(`<option value="${ele.code}">${ele.name}</option>`)
                        })
                        cs = ele.children
                    }
                }
            })
        })

        $("#two").on("change", () => {
            $("#thr option").remove()
            $.each(cs, (index, ele) => {
                if (ele.code == $("#two").val()) {
                    if (ele.children) {
                        for (let i = 0; i < ele.children.length; i++) {
                            $("#thr").append(`<option value="${ele.children[i].code}">${ele.children[i].name}</option>`)
                        }
                    } else {
                        return
                    }

                }
            })
        })
    </script>
</body>

</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值