JavaScript的三级联动

  <select id="provice">
       <option value="-1">请选择</option>
   </select>
   <select id="city"></select>
   <select id="country"></select>
   <script>
       //创建数组保存各个省份城市地区
       //省份:一维数组
       var proviceArr=['江西','福建','浙江'];
       //城市:二维数组
       var cityArr=[
            ['上饶市','南昌市','萍乡市'],
            ['福州市','厦门市','三明市'],
            ['杭州市','温州市','绍兴市']
       ];
       //地区:三维数组
       var countryArr=[
            [
                ['广丰县','玉山县','上饶县'],
                ['东湖区','西湖区','青云谱区'],
                ['安源区','湘东区','上栗县']
            ],
            [
                ['鼓楼区','晋安区','马尾区'],
                ['湖里区','海沧区','集美区'],
                ['三元区','梅列区','永安市']
            ],
            [
                ['上城区','下城区','江干区'],
                ['鹿城区','龙湾区','瓯海区'],
                ['越城区','柯桥区','上虞区']
            ]
       ];
    
       function createOption(obj,data){
           for(var i in data){
               var op=new Option(data[i],i);
               console.log(op);
               obj.options.add(op);
               console.log(obj.options);
           }
       }
       var provice=document.getElementById('provice');
       createOption(provice,proviceArr);

       var city=document.getElementById('city');
       provice.onchange=function(){
           city.options.length=0;
           createOption(city,cityArr[provice.value]);
           if(provice.value>=0){
               city.onchange();
           }else{
               country.options.length=0;
           }
       }

       var country=document.getElementById('country');
       city.onchange=function(){
           country.options.length=0;
           createOption(country,countryArr[provice.value][city.value]);
       }
   </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值