日期:2014-05-17 浏览次数:20947 次
<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>