1. 程式人生 > >js省市級聯實現

js省市級聯實現

提示 scrip round ros temp rop sel 菜單 武漢

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>

js省市級聯實現