JavaScript實現簡單省市聯動

本文實例為大傢分享瞭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(4);
 arr[0]=["中國","北京","上海","深圳","杭州"];
 arr[1]=["美國","華盛頓","紐約","底特律","芝加哥"];
 arr[2]=["英國","倫敦","伯明翰","利茲","利物浦"];
 arr[3]=["日本","東京","大阪","北海道","長崎"];
 /*
  步驟:
  1.遍歷二維數組
  2.得到一個數組-國傢對應關系
  3.用數組中第一個值與傳遞過來的值作比較
  4.如果相同,獲取到第一個值後面的元素
  5.得到city的select
  6.添加過去-appendChild方法
   -創建option(三步)
   
  由於每次都要向city裡面添加option
  第二次添加,會追加。
  * 每次添加之前,判斷一下city裡面是否有option,如果有,刪除
 */
 
 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>

效果圖演示:

以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。

推薦閱讀: