JavaScript实现简单省市联动的具体代码

* 创建一个页面,有两个下拉选择框
    * 在第一个下拉框里面有一个事件 :改变事件 onchange事件
        - 方法add1(this.value);表示当前改变的option里面的value值
    * 创建一个二维数组,存储数据
     * 每个数组中第一个元素是国家名称,后面的元素是国家里面的城市

步骤   

1、遍历二维数组

2、得到也是一个数组(国家对应关系)

3、拿到数组中的第一个值和传递过来的值做比较

4、如果相同,获取到第一个值后面的元素

5、得到city的select

6、添加过去(使用)appendChild方法
                               - 创建option(三步)


   由于每次都要向city里面添加option
   第二次添加,会追加

 * 每次添加之前,判断一下city里面是否有option,如果有,删除
 

<html >
 <head>
   
  <title>省市联动</title>
  <style type = "text/css">
  </style>
 </head>
 <body>
   <select id="countyid" onchange="add1(this.value)">
  <option value="0">--请选择--</option>
  <option value="中国">中国</option>
  <option value="美国">美国</option>
  <option value="英国">英国</option>
  <option value="日本">日本</option>
 
   </select>
 
    <select id="cityid" >
 
   </select>
 </body>
 <script type="text/javascript">
 var arr = new Array(3);
 arr[0]=["中国","北京","上海","山东","浙江"];
 arr[1]=["美国","华盛顿","纽约","底特律","芝加哥"];
 arr[2]=["英国","伦敦","伯明翰","利兹","利物浦"];
 
 function add1(val){
  //得到city里面的select
   var city1 = document.getElementById("cityid");
   var ops = city1.getElementsByTagName("option");
   for(var m=0;m<ops.length;m++){
    var op = ops[m];
    city1.removeChild(op);
    m--;
   }
  for(var i=0;i<arr.length;i++){
   arr1=arr[i];
   var firstValue = arr1[0];
   if (firstValue == val)
   {
    
    //创建option
    for(var j=1;j<arr1.length;j++){
     var value1 = arr1[j];
     var option1=document.createElement("option");
     var text1 = document.createTextNode(value1);
     option1.appendChild(text1);
     city1.appendChild(option1);
    }
   }
   
  }
 }
 
   </script>
 
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

~Wforikl

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值