美文网首页
DOM案例-省市区三级联动

DOM案例-省市区三级联动

作者: 张培跃 | 来源:发表于2022-04-14 19:19 被阅读0次
    • 预览效果:https://qianduanmao.com/demo/dom/event/1.html

    • data.js下载https://download.csdn.net/download/u012149969/85135218

    • 代码

      <!DOCTYPE html>
      <html lang="en">
      <head>
          <meta charset="UTF-8">
          <title>三级联动-前端猫</title>
      </head>
      <body>
      <select name="provice">
          <option value="-1">--请选择省份--</option>
      </select>
      <select name="city">
          <option value="-1">--请选择城市--</option>
      </select>
      <select name="county">
          <option value="-1">--请选择区域--</option>
      </select>
      </body>
      <script src="js/data.js"></script>
      <script>
          var provice = document.querySelector("select[name=provice]");
          var city = document.querySelector("select[name=city]");
          var county = document.querySelector("select[name=county]");
          city.onchange = function(){
              var _this = this;
              county.innerHTML = `<option value="-1">--请选择区域--</option>`;
              if(this.value/1 === -1) return;
              county.innerHTML += Object.keys(cityJson[this.value]).map(function (item){
                  return `<option value="${item}">${cityJson[_this.value][item]}</option>`
              })
          }
          provice.onchange = function(){
              // 通过this.value 将city中增加对应城市信息
              // console.log(cityJson[this.value]);
              var _this = this;
              city.innerHTML = `<option value="-1">--请选择城市--</option>`;
              county.innerHTML = `<option value="-1">--请选择区域--</option>`;
              // 如果未选择省份,那么直接返回
              if(this.value/1 === -1) return;
              city.innerHTML+= Object.keys(cityJson[this.value]).map(function (item){
                  return `<option value="${_this.value},${item}">${cityJson[_this.value][item]}</option>`
              })
      
          }
          provice.innerHTML += Object.keys(cityJson["0"]).map(function (item){
              return `<option value="0,${item}">${cityJson["0"][item]}</option>`
          }).join("")
      </script>
      </html>
      

    相关文章

      网友评论

          本文标题:DOM案例-省市区三级联动

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