下面是js代码
复制代码 代码如下:
function readxml() {
var xmldoc = null;
if (window.activexobject) {
xmldoc = new activexobject(microsoft.xmldom);
xmldoc.async = false;
xmldoc.load(path + /web/common/regions.xml);
browse = ie;
} else if (document.implementation
&& document.implementation.createdocument) {
xmldoc = document.implementation.createdocument('', '', null);
xmldoc.load(regions.xml);
browse = ff;
} else {
alert('未做与该浏览器的兼容!');
}
var root = xmldoc.documentelement;
// 获取根节点下面的省节点
var provinces = root.childnodes;
var province = document.getelementbyidx_x_x(province);
var cities = document.getelementbyidx_x_x(regid);
for ( var i = 0; i // 获取省节点的name属性的值
var name = provinces[i].getattribute(name);
// 创建一个option
var opt = document_createelement_x_x(option);
// 为option添加文本
opt.a(document_createtextnode(name));
// 添加到父节点中
if(cityid!=null&&cityid!=){
var citys=provinces[i].childnodes;
for(var j=0;jif(citys[j].getattribute(id)==cityid){
opt.selected=selected;
for ( var j = 0; j // 创建一个option
var opt1 = document_createelement_x_x(option);
opt1.value = citys[j].getattribute(id);
// 为option添加文本
opt1.a(document_createtextnode(citys[j]
.getattribute(name)));
// 添加到父节点中
if(citys[j].getattribute(id)==cityid){
opt1.selected=selected;
}
cities.a(opt1);
}
}
}
}
province.a(opt);
}
province.onchange = function() {
var pce = document.getelementbyidx_x_x(province);
var opts = pce.options;
var opt1 = opts[pce.selectedindex];
var name = opt1.innertext;
for ( var i = 0; i // 获取省节点的name属性的值
var name1 = provinces[i].getattribute(name);
if (name == name1) {
cities.length = 1;// 每次改变的时候清空
var pros = provinces[i];
var citys = pros.childnodes;
for ( var j = 0; j // 创建一个option
var opt1 = document_createelement_x_x(option);
opt1.value = citys[j].getattribute(id);
// 为option添加文本
opt1.a(document_createtextnode(citys[j]
.getattribute(name)));
// 添加到父节点中
cities.a(opt1);
}
}
}
}
}
下面是xml结构
复制代码 代码如下: