日期:2014-05-17 浏览次数:20740 次
<head> <script type="text/javascript"> //获取XML文档对象根节点(文档路径) function getXMLNodes(xmlPath){ var xmlDocument=new ActiveXObject("Microsoft.XMLDOM");//创建XML文档对象 xmlDocument.async=false;//关闭异步处理 xmlDocument.load(xmlPath);//读取XML文档 return xmlDocument.documentElement.childNodes;//获取文档根节点数组 } //获取父级菜单数据 function getPro(){ var nodes=getXMLNodes("/XMLDemo/xml/address.xml");//获取文档根节点数组 var slcPro=document.getElementById("slcPro");//获取父级列表对象 for(var i=0;i<nodes.length;i++)//循环根节点数组,获取根节点值 slcPro.options[i+1]=new Option(nodes[i].getAttribute("value"),nodes[i].getAttribute("id")); } //根据父级菜单获取子级菜单数据 function getCity(slcPro){ var nodes=getXMLNodes("/XMLDemo/xml/address.xml");//获取文档根节点数组 var slcCity=document.getElementById("slcCity");//获取子级列表对象 slcCity.options.length = 1;//清空下拉列表框(保留默认项) for(var i=0;i<nodes.length;i++){//循环根节点数组 if(slcPro.getAttribute("value")==nodes[i].getAttribute("id")){//如果根节点id等于父级列表值 var cityNodes=nodes[i].childNodes;//获取对应根节点的子节点数组 for(var j=0;j<cityNodes.length;j++)//遍历子节点数组 slcCity.options[j+1]=new Option(cityNodes[j].text,cityNodes[j].getAttribute("id")); break; } } } </script> </head> <body onload="getPro()"> 省:<select id="slcPro" onchange="getCity(this)"> <option >--请选择--</option> </select> 市:<select id="slcCity"><option >--请选择--</option></select> </body>