This article mainly brings you an article about Jquery+Ajax+xml to achieve the effect of selecting a three-level linkage menu in China (recommended). The editor thinks it’s pretty good, so I’ll share it with you now and give it as a reference. Let’s follow the editor to take a look, I hope it can help everyone.
This article mainly introduces the use of Jquery+Ajax+xml. First, you need an xml document containing all map information in our country.
The main structure of the xml document selected here (more than 1,000 lines in total) is as follows:
Make the corresponding form and select the province/city action according to the settings:
地区三级联动菜单
省: 市: 地区:
The following is the JS code line
//声明一个全局变量,用于存储第一次请求的xml信息,避免后续多次频繁请求xml var xmldom =null; //获取并显示省份信息 function showprovince(){ //使用ajax去服务器获得xml文件里面的省份信息 $.ajax({ url:'./ChinaArea.xml', //data: dataType:'xml',//相当于调用responseXML type:'get', success:function(msg){ //将返回的xml信息赋予xmldom xmldom = msg; //获得province 元素节点对象 var prov = $(msg).find('province'); //遍历省份信息 prov.each(function(k,v){ var nm = $(this).attr('province'); var id = $(this).attr('provinceID'); //追加到指定的节点 $('#province').append(""); }); } }); } //网页加载显示省份信息 $(function(){ showprovince(); }); function showcity(){ //获取 省份 的id var pid = $('#province option:selected').val(); //根据xmldom信息 找到指定的省份节点 var xml_province = $(xmldom).find('province[provinceID='+pid+']'); // 获取对应所有县市节点 var city = $(xml_province).find('City'); //在遍历追加前,先清空此前已经显示的信息 $('#city').empty(); $('#city').append(''); //遍历追加县市 city.each(function(k,v){ var nm = $(this).attr('City'); var id = $(this).attr('CityID'); $('#city').append(''); }); } //以下函数的逻辑与showcity()的逻辑一致 function showdistrict(){ //获取 县市 的id var cid = $('#city option:selected').val(); //根据xmldom信息 找到指定的县市节点 var xml_city = $(xmldom).find('City[CityID='+cid+']'); // 获取对应所有地区节点 var district = $(xml_city).find('Piecearea'); $('#district').empty(); $('#district').append(''); district.each(function(k,v){ var nm = $(this).attr('Piecearea'); var id = $(this).attr('PieceareaID'); $('#district').append(''); }); }
related recommendations:
How to implement ajax three-level linkage
It is simple to achieve the effect of ajax three-level linkage Method
The above is the detailed content of Jquery, Ajax, xml realize three-level linkage menu effect. For more information, please follow other related articles on the PHP Chinese website!