最近,在重构代码的时候对于省市级联的处理上一直用ajax请求来实现,对于数据库操作频繁,想起来了之前看见亚马逊的页面有这样的一个省市区格式的Json数据,自己也想试一下。至于是否要去监听后台省市区的更新和重新生成json格式数据,暂时没去试验。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <meta name="Generator" content="EditPlus"> <meta name="Author" content=""> <meta name="Keywords" content=""> <meta name="Description" content=""> </head> <body> <select id="provinces"> <option value="">请选择</option> </select> <select id="cites"> <option value="">请选择</option> </select> </body> <script type="text/javascript"> var oProvinceSelect=document.getElementById("provinces"); var oCitySelect=document.getElementById("cites"); var oOption;// option对象 var oCities;// 城市列表对象 var nCitiesLength;// 城市列表长度 var area=[{"num":"11","name":"北京","children":[{"num":"02","name":"西区"},{"num":"03","name":"南区"},{"num":"05","name":"东区"},{"num":"08","name":"海淀"},{"num":"12","name":"通州"},{"num":"13","name":"顺义"},{"num":"14","name":"昌平"},{"num":"15","name":"大兴"},{"num":"17","name":"平谷"},{"num":"18","name":"怀柔"},{"num":"20","name":"延庆"},{"num":"28","name":"密云"},{"num":"29","name":"门头沟"}]},{"num":"4A","name":"深圳","children":[{"num":"03","name":"深圳"}]}]; /* province_select初始化 */ for(var i=0;i<area.length;i++){ oOption=document.createElement('option'); oOption.text=area[i].name; oOption.value=area[i].num; oProvinceSelect.add(oOption,null); } oProvinceSelect.onchange=function(){ nCitiesLength=oCitySelect.length; for(var z=1;z<nCitiesLength;z++){ oCitySelect.remove(1); } for(var j=0;j<area.length;j++){ if(area[j].num==oProvinceSelect.value){ oCities=area[j].children; for(var k=0;k<oCities.length;k++){ oOption=document.createElement('option'); oOption.text=oCities[k].name; oOption.value=oCities[k].num; oCitySelect.add(oOption,null); } } } } </script> </html>