js 省份城市的三级联动

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
         <form>
      <select id="province">
        <option value="-1">请选择</option>
      </select>
      <select id="city"></select>
      <select id="country"></select>
    </form>
    <script>
      // 省份数组
      var provinceArr = ['上海', '江苏', '河北'];
      // 城市数组
      var cityArr = [
        ['上海市'],
        ['苏州市', '南京市', '扬州市'],
        ['石家庄', '秦皇岛', '张家口']
       ];
      // 区域数组
      var countryArr = [
        [
          ['黄浦区', '静安区', '长宁区', '浦东区']
        ], [
          ['虎丘区', '吴中区', '相城区', '姑苏区', '吴江区'],
          ['玄武区', '秦淮区', '建邺区', '鼓楼区', '浦口区'],
          ['邗江区', '广陵区', '江都区']
        ], [
          ['长安区', '桥西区', '新华区', '井陉矿区'],
          ['海港区', '山海关区', '北戴河区', '抚宁区'],
          ['桥东区', '桥西区', '宣化区', '下花园区']
        ]
      ];
      function createOption(obj,data){
              for(var i in data){
                  var op=new Option(data[i],i);
                  obj.options.add(op);
              }
      }
      var province=document.getElementById('province');
      createOption(province,provinceArr);
      
      var city=document.getElementById('city');
      province.οnchange=function()
      {
          city.options.length=0;
          createOption(city,cityArr[province.value]);
          if(province.value>=0)
          {
              city.onchange();
          }
          else{
              country.options.length=0;
          }
      };
          
          var country = document.getElementById('country');
      city.onchange = function() {
        country.options.length = 0;     // 清空country下的所有原有<option>
        createOption(country, countryArr[province.value][city.value]);
      };
     
      </script>
    </body>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值