js省市級聯實現


js省市級聯實現。

for [element] in [collection] 用於循環下標,常用於json

for(index in arr){
   console.info("下標:"+index+"值:"+arr[index]);
}

=====================分割線========================
<html>
<head>
<meta charset="UTF-8">
<title>基於JSON級聯列表</title>
<script type="text/javascript">
//JSON:主要用於數據交換,其次json就是有格式的字符串
//var str = "{'name':'demo','age':'18'}";
//這樣寫符合JSON語法(字符串用雙引號)
var str = '{"name":"demo","age":"18"}'; 
console.info("當前類型為:"+typeof(str));
var obj = JSON.parse(str);
console.info("當前類型為:"+typeof(obj));
//JSON輸出訪問的兩種方式
console.info(obj.name+","+obj.age+"||"+obj['name']+","+obj['age']);
str=JSON.stringify(obj);
console.info("當前類型為:"+typeof(str));

//采用JSON格式來存儲相應的數據和編碼
var proJSON = {"1":"廣東省""2":"湖北省"};
var cityJSON = {"1":{"020":"廣州","0755":"深圳","0756","珠海"},"2":{"027":"武漢","0710":"襄樊","0715":"赤壁"}}

window.onload=function(){
       var province = document.getElementById("province");
       for(var temp in proJSOM){
          province.add(new Option(proJSON[temp],temp));
       }
}

function setCity(){
   //只要觸發了此事件,則二級菜單必須還原
   var city=document.getElementById('city');
   city.Option.length=1;
   //獲取被選中省會的值
   var val = document.getElementById('province').value;
   console.info("cityJSON:"+cityJSON[val]);
   if(!cityJSON[val]){
       return;
   }
  //通過選中的值獲取二級菜單的json數據
  var sonJSON=cityJSON[val];
  for(temp in sonJSON){
    city.add(new Option(sonJSON[temp],temp))
  }

 }

</script>
</head>


<body>
 <!--數據的三種存儲方式:
    1:數據庫
    2:properties:存儲非敏感數據,且key value 格式,省資源
    3:XML:存儲非敏感數據,且支持有結構 目前一般用於配置文件
    4:硬編碼:主要存儲非敏感數據,且不改變的數據
 -->
   <select id="province" onChange="setCity()">
      <option>--選擇省會--</option>
   </select>
   <select id="city" >
      <option>--選擇城市--</option>
   </select>
</body>
</html>




=====================分割線========================

<html>
<head>
<meta charset="UTF-8">
<title>基於數組級聯列表</title>
<script type="text/javascript">
//js中數組的下標支持中文
var arr = new Array();
arr['廣東省'] = ['廣州','深圳','珠海'];
arr['湖北省'] = ['武漢','襄樊','赤壁'];
window.onload=function(){
     //向省會賦值下拉列表框
     var proSel = document.getElementById("province");
     for(var temp in arr){
        proSel.add(new Option(temp,temp))
     }
}

function setCity(){
   //清空當前下拉列表框的信息
   var citySel = document.getElementById("city");
   citySel.options.length=1;
   //獲取選中的省會信息
   var pro = document.getElementById('province').value;
   //如果選擇獲取提示信息則不執行
   if(pro == ""){
     return;
   }
   var citySel = document.getElementById('city');
   for(var i=0;i<arr[pro].length;i++){
       citySel.add(new Option(arr[pro][i],arr[pro][i]))
   }
}
</script>
</head>


<body>
   <select id="province" onChange="setCity()">
      <option>--選擇省會--</option>
   </select>
   <select id="city" >
      <option>--選擇城市--</option>
   </select>
</body>
</html>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM