1. [代码] [JavaScript]代码 !doctype htmlhtml head meta charset="UTF-8" meta name="Keywords" content="" meta name="Description" content="" titleDocument/title style type="text/css"*{margin:0;padding:0;}body{font-size:14px;font-family:"微软
1. [代码][JavaScript]代码
<!doctype html> <html > <head> <meta charset="UTF-8"> <meta name="Keywords" content=""> <meta name="Description" content=""> <title>Document</title> <style type="text/css"> *{margin:0;padding:0;} body{font-size:14px;font-family:"微软雅黑"} a{text-decoration:none;color:#000} ul li{list-style:none} select{width:100px;} </style> </head> <body> <select name="" id="pro"></select> <select name="" id="city"></select> <select name="" id="county"></select> <script type="text/javascript"> (function(win){ win.onload=function(){ /*-------------湖北省--------------------*/ //黄冈市,武汉市 var hgCity={ name:"黄冈市", children:["蕲春","武穴","溪水"] }; var whCity={ name:"武汉市", children:["汉口","武昌","汉阳"] }; var hbArray=[]; hbArray.push(whCity,hgCity); //湖北省对象 var hbPro={ name:"湖北省", children:hbArray }; /*---------------广东省-------------------*/ //深圳市,东莞市 var szCity={ name:"深圳市", children:["南山区","罗湖区","盐田区"] }; var dgCity={ name:"东莞市", children:["凤岗","莞城","常平"] }; var gdArray=[]; gdArray.push(szCity,dgCity); var gdPro={ name:"广东省", children:gdArray }; /*----------------青海省--------------------*/ //西宁市,玉树州 var xnCity={ name:"西宁市", children:["城东区","城西区","城北区"] }; var ysCity={ name:"玉树州", children:["玉树县","杂多县","治多县"] }; var qhArray=[]; qhArray.push(xnCity,ysCity); var qhPro={ name:"青海省", children:qhArray }; //中国省市县数组 var chinArray=[]; chinArray.push(hbPro,gdPro,qhPro); /*-------------------------------------------------------------------*/ //获取省市县各级dom对象 var proDom = document.getElementById("pro"); var cityDom =document.getElementById("city"); var countyDom=document.getElementById("county"); /*------------------先初始化个选项卡-----------------------*/ //初始化省 addDddress(chinArray,proDom); //初始化市 pro(); //初始化县,区 cit(); /*----------根据省选项的触发事件,自动填充市选项卡---------*/ proDom.onchange=pro; function pro(){ //先清空city选项 cityDom.innerHTML=""; //当身份选项被改变时,获取省份对应的value值 var num = proDom.value; //被选择的省份对应的市 var cityArray= chinArray[num].children; addDddress(cityArray,cityDom); //联动县 cit(); }; //根据市选项的触发事件,自动填充县,区选项卡 cityDom.onchange=cit; function cit(){ //每次改变时先清空上一次的值 countyDom.innerHTML=""; //当市被改变时,自动获取对应的省,市的value var num1 = proDom.value; var num2 = cityDom.value; //被选择的市对应的县,区 var countyArray = chinArray[num1].children[num2].children; addDddress(countyArray,countyDom); }; }; function addDddress(adrArray,dom){ for(var i=0,len=adrArray.length;i<len;i++){ var opt=document.createElement("option"); if(adrArray[i].name){ opt.innerHTML=adrArray[i].name; }else{ opt.innerHTML=adrArray[i]; } opt.value=i; dom.appendChild(opt); } } })(window) </script> </body> </html>