请教一下,有人做过下拉框联动吗?

请教一下,有人做过下拉框联动吗?每选中一个跟上一一级绑定!不知道怎么写!需要用原生JS.

img

https://www.jianshu.com/p/617db96b7905

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>二级联动下拉框</title>
  </head>

  <body>
    <div id="seleDiv">
      <select id="province" onchange="selectCity(this)">
        <option>--选择省市--</option>
        <option>北京市</option>
        <option>河北省</option>
        <option>辽宁省</option>
        <option>山东省</option>
      </select>

      <select id="city">
        <option>--选择城市--</option>
      </select>
    </div>
    <script>
    // 1.让用户先选择一个省份, 获取用户选中的省份 北京市
    // 2.根据用户选中的省份, 获知省份下面的所有城市(数组)
    // 3.将该省份下面的所有城市 作为option选项 填充到第二个select列表(城市)中
    // js实现注意问题: 
    // ie10以下的浏览器不支持 select,table上的innerHTML属性
    // 删除option时,由于删除后,options长度发生了变化,所以直接用for循环会有漏删的情况,可以由后向前删除,可以避免这样的问题
      var data = {
        北京市: ["海淀区", "朝阳区", "丰台区"],
        河北省: ["石家庄", "唐山", "秦皇岛"],
        辽宁省: ["沈阳", "大连", "鞍山"],
        山东省: ["青岛", "济南", "烟台"],
      };

      function selectCity(thisobj) {
        //1.先获取用户选中的省份
        var prov = thisobj.value;
        //2.根据省份获取省份对应的城市数据
        var citys = data[prov];
        //3.遍历数组中的城市,将城市变为option选项
        var citySele = document.getElementById("city");
        //在添加当前省份对应的城市到select框之前应该先清空其他成分的选项,再进行添加
        citySele.innerHTML = "<option>--选择城市--</option>";
        for (var i = 0; i < citys.length; i++) {
          var opt = document.createElement("option");
          opt.innerHTML = citys[i];
          //添加到第二个城市的下拉选框中
          citySele.appendChild(opt);
        }
      }
    </script>
  </body>
</html>

详细需求是什么?

使用原生select

给第一个绑定一个改变事件,触发函数,加载第二个下拉内容
同理,给第二个下拉绑定一个改变事件,触发函数,加载第三个下拉内容
多少级都能拉的动