首先建立一个Area.HTML,很简单包含一个省份的select元素和一个城市的界面元素:
<HTML>
<head>
<title>Area Demo</title>
</head>
<body>
<select id="province" size=1 onchange="loadCity()">
<option value="city01.XML"> 江苏 </option>
<option value="city02.XML"> º湖南 </option>
<option value="city03.XML"> 湖北 </option>
</select>
<select id="city" size=1>
</select>
<XML id="XMLobj"></XML>
<script language="javascript" type="text/javascript">
var provobj = document.all("province");
var cityobj = document.all("city");
var XMLhttp = document.all("XMLobj");
loadCity();
/**
* 装载城市数据
*/
function loadCity() {
cityobj.options.length = 0;
var file = provobj.options[provobj.selectedIndex].value;
XMLhttp.async = false;
XMLhttp.load(file);
var cities = XMLhttp.selectNodes("Cities/City");
var idx,name;
for(idx = 0; idx < cities.length; idx ++) {
name = cities[idx].getAttribute("name");
cityobj.options.length++;
cityobj.options[cityobj.options.length - 1].value = name;
cityobj.options[cityobj.options.length - 1].text = name;
}
}
</script>
</body>
</HTML>
然后建立三个省份的城市数据文件,分别命名为city01.XML,city02.XML,city03.XML
<?XML version="1.0" encoding="GB2312"?>
<Cities Province="江苏">
<City name="南京"/>
</Cities>
<?XML version="1.0" encoding="GB2312"?>
<Cities Province="湖南">
<City name="长沙"/>
</Cities>
<?XML version="1.0" encoding="GB2312"?>
<Cities Province="湖北">
<City name="武汉"/>
</Cities>
保存,在ie6浏览通过,理论上可以在ie5一上浏览器跑。