多级菜单联动选择(如市区县)

<body>

    <select name="" id="">

      <option value="null">====请选择市====</option>

      <!-- <option value="四川">四川</option>

        <option value="贵州">贵州</option> -->

    </select>

    <select name="" id="">

      <option value="null">====请选择区====</option>

    </select>

    <select name="" id="">

      <option value="null">====请选择县====</option>

    </select>

    <script src="./js/data.js"></script>

    <script>

      let allselects = document.querySelectorAll("select");

      //   一级菜单栏

      data.forEach((ele) => {

        allselects[0].innerHTML += `<option value="${ele.name}">${ele.name}</option>`;

      });

      // 二级菜单栏

      allselects[0].onchange = function () {

        data.forEach((ele) => {

          if (ele.name == this.value) {

            allselects[1].innerHTML = ` <option value="null">====请选择区====</option>`;

            // 向第二个选择框添加option

            ele.next.forEach((a) => {

              allselects[1].innerHTML += `<option value="${a.name}">${a.name}</option>`;

            });

          }

        });

      };

      //  三级菜单层

      allselects[1].onchange = function () {

        console.log(this.value);

        data.forEach((ele) => {

          ele.next.forEach((a) => {

            if (a.name == this.value) {

               

              allselects[2].innerHTML = ` <option value="null">====请选择县====</option>`;

              a.next.forEach((a) => {

                allselects[2].innerHTML += `<option value="${a}">${a}</option>`;

              });

            }

          });

        });

      };

    </script>

  </body>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值