javascript加html实现简单省市联动

思路:
1.先写两个下拉选择框,一个是国家,一个是省
2.国家的下拉列表里定义onchange改变事件,事件里写一个add1(this.value)方法,表示当前改变的option里面的value值
3.创建一个二维数组,用来存储国家和城市。每个数组的第一个元素是国家名称,后面的元素是城市名
4.遍历数组,得到每个数组,将数组的第一个元素与传递过来的值进行比较,相同就获取第一个值后面的元素
5.得到city的select,给里面创建option,将第一个值后面的元素写入到option里面
6.添加之前,判断city里面是否有option,有的话删除
<html>
<head>
</head>
<body>
    <select id="country" οnchange="add1(this.value);">
        <option value="0">--请选择--</option>
        <option value="中国">中国</option>
        <option value="德国">德国</option>
        <option value="日本">日本</option>
        <option value="美国">美国</option>
    </select>
    <select id="city">
    </select>
</body>
    <script type="text/javascript">
        
        var arr=new Array(4);
        arr[0]=["中国","杭州","南京","四川","西安"];
        arr[1]=["德国","慕尼黑","柏林","法兰克福","狼堡"];
        arr[2]=["日本","长岛","大阪","北海道","东京"];
        arr[3]=["美国","华盛顿","纽约","底特律","休斯顿"];
        function add1(val){
        var city1=document.getElementById("city");
        var option=city.getElementsByTagName("option");
        for(var i=0;i<option.length;i++){
            var opt=option[i];
            city1.removeChild(opt);
            i--;
        }
            for(var i=0;i<arr.length;i++){
                var arr1=arr[i];
                var firstvalue=arr1[0];
                if(firstvalue==val){
                    for(var j=1;j<arr1.length;j++){
                        var arr2=arr1[j];
                        //alert(arr2);
                        var opt=document.createElement("option");
                        var text=document.createTextNode(arr2);
                        opt.appendChild(text);
                        city1.appendChild(opt);
                    }
                }
            }
        }
    </script>
</html>

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值