Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
本文主要介绍使用Jquery+Ajax+xml,首先需要一个包含我国所有地图信息的xml文档。
此处选用的xml文档(共1000多行)主要结构如下:
制作对应的表单,根据设置选择省/市的动作:
地区三级联动菜单
省:-请选择- 市: -请选择- 地区: -请选择-
以下是JS代码行
//声明一个全局变量,用于存储第一次请求的xml信息,避免后续多次频繁请求xml
varxmldom=null;
//获取并显示省份信息
functionshowprovince(){
//使用ajax去服务器获得xml文件里面的省份信息
$.ajax({
url:'./ChinaArea.xml',
//data:
dataType:'xml',//相当于调用responseXML
type:'get',
success:function(msg){
//将返回的xml信息赋予xmldom
xmldom=msg;
//获得province元素节点对象
varprov=$(msg).find('province');
//遍历省份信息
prov.each(function(k,v){
varnm=$(this).attr('province');
varid=$(this).attr('provinceID');
//追加到指定的节点
$('#province').append(""+nm+"");
});
}
});
}
//网页加载显示省份信息
$(function(){
showprovince();
});
functionshowcity(){
//获取省份的id
varpid=$('#provinceoption:selected').val();
//根据xmldom信息找到指定的省份节点
varxml_province=$(xmldom).find('province[provinceID='+pid+']');
//获取对应所有县市节点
varcity=$(xml_province).find('City');
//在遍历追加前,先清空此前已经显示的信息
$('#city').empty();
$('#city').append('-请选择-');
//遍历追加县市
city.each(function(k,v){
varnm=$(this).attr('City');
varid=$(this).attr('CityID');
$('#city').append(''+nm+'');
});
}
//以下函数的逻辑与showcity()的逻辑一致
functionshowdistrict(){
//获取县市的id
varcid=$('#cityoption:selected').val();
//根据xmldom信息找到指定的县市节点
varxml_city=$(xmldom).find('City[CityID='+cid+']');
//获取对应所有地区节点
vardistrict=$(xml_city).find('Piecearea');
$('#district').empty();
$('#district').append('-请选择-');
district.each(function(k,v){
varnm=$(this).attr('Piecearea');
varid=$(this).attr('PieceareaID');
$('#district').append(''+nm+'');
});
}
以上这篇Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。