发一个XML联动菜单的代码。网上下了很多都不能用。这个我自己写的。
XML 格式。
<?xml version="1.0" encoding="gb2312" ?>
<root>
<Item id="1" pid="0" aname="北京" />
<Item id="2" pid="0" aname="上海" />
<Item id="3" pid="0" aname="天津" />
<Item id="4" pid="0" aname="重庆" />
<Item id="5" pid="0" aname="广东" />
<Item id="6" pid="0" aname="辽宁" />
<Item id="7" pid="0" aname="江西" />
<Item id="8" pid="0" aname="黑龙江" />
<Item id="9" pid="0" aname="吉林" />
<Item id="10" pid="0" aname="内蒙古" />
.......
</root>
HTML
<html>
<head>
<script language="JavaScript">
<!--
var xml = new ActiveXObject("Microsoft.XMLDOM");
xml.async = false;
xml.load("area.xml");
nodes = xml.selectNodes("//Item");
function show_city(){
var id = document.form1.bigarea[document.form1.bigarea.selectedIndex].value;
//alert(id);
var city = document.forms[0].smallarea;
city.length = 0;
city.options.add(new Option("请选择城市","-1"));
for(var i=0;i<nodes.length;i++){
var pid = nodes[i].getAttribute("pid");
var aname = nodes[i].getAttribute("aname");
var aid = nodes[i].getAttribute("aid");
if(id == pid){
city.options.add( new Option(aname,aid));
}
}
}
function checkform(){
alert(document.form1.bigarea.value);
}
//-->
</script>
</head>
<body>
<script language="JavaScript">
<!--
document.write(nodes.length);
//-->
</script>
<form name="form1" method=post action="#" onsubmit="return checkform();">
<select name="bigarea" onChange="show_city();"><option value="-1">请选择...</option>
<script language="JavaScript">
<!--
for(var i=0;i<nodes.length;i++) {
var pid = nodes[i].getAttribute("pid");
var aid = nodes[i].getAttribute("id");
var aname = nodes[i].getAttribute("aname");
if( pid == 0) {
document.write("<option value="+ aid + ">"+ aname +"</option>");
}
}
//-->
</script>
</select>
<select name="smallarea">
<option value="-1">请选择...</option>
</select>
<input type="submit">
</form>
</body>
</html>