最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

Jquery、Ajax、xml实现三级联动菜单效果

来源:动视网 责编:小OO 时间:2020-11-27 20:06:49
文档

Jquery、Ajax、xml实现三级联动菜单效果

本文主要介绍使用 Jquery+Ajax+xml,首先需要一个包含我国所有地图信息的xml文档。此处选用的xml文档(共1000多行)主要结构如下:<;?xml version=";1.0";encoding=";utf-8";?>;<;area Country=";China";>;<;province ID=";1";provinceID=";110000";province=";北京市";>;<;City CityID=";110100";City=";市辖区";>;<;110101";/>。
推荐度:
导读本文主要介绍使用 Jquery+Ajax+xml,首先需要一个包含我国所有地图信息的xml文档。此处选用的xml文档(共1000多行)主要结构如下:<;?xml version=";1.0";encoding=";utf-8";?>;<;area Country=";China";>;<;province ID=";1";provinceID=";110000";province=";北京市";>;<;City CityID=";110100";City=";市辖区";>;<;110101";/>。


本文主要为大家带来一篇Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

本文主要介绍使用 Jquery+Ajax+xml,首先需要一个包含我国所有地图信息的xml文档。

此处选用的xml文档(共1000多行)主要结构如下:

<?xml version="1.0" encoding="utf-8"?>
<area Country="China">
 <province ID="1" provinceID="110000" province="北京市">
 <City CityID="110100" City="市辖区">
 <Piecearea PieceareaID="110101" Piecearea="东城区" />
 <Piecearea PieceareaID="110102" Piecearea="西城区" />
 <Piecearea PieceareaID="110103" Piecearea="崇文区" />
 <Piecearea PieceareaID="110104" Piecearea="宣武区" />
 <Piecearea PieceareaID="110105" Piecearea="朝阳区" />
 <Piecearea PieceareaID="110106" Piecearea="丰台区" />
 <Piecearea PieceareaID="110107" Piecearea="石景山区" />
 <Piecearea PieceareaID="110108" Piecearea="海淀区" />
 <Piecearea PieceareaID="110109" Piecearea="门头沟区" />
 <Piecearea PieceareaID="110111" Piecearea="房山区" />
 <Piecearea PieceareaID="110112" Piecearea="通州区" />
 <Piecearea PieceareaID="110113" Piecearea="顺义区" />
 <Piecearea PieceareaID="110114" Piecearea="昌平区" />
 <Piecearea PieceareaID="110115" Piecearea="大兴区" />
 <Piecearea PieceareaID="110116" Piecearea="怀柔区" />
 <Piecearea PieceareaID="110117" Piecearea="平谷区" />
 </City>
<province>

制作对应的表单,根据设置选择省/市的动作:

<h2>地区三级联动菜单</h2>
 省:<select id="province" onchange="showcity()"><option value="0">-请选择-</option></select>
 市:<select id="city" onchange="showdistrict()"><option value="0">-请选择-</option></select>
 地区:<select id="district"><option value="0">-请选择-</option></select>

以下是JS代码行

//声明一个全局变量,用于存储第一次请求的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("<option value="+id+">"+nm+"</option>");
 });
 }

 });
 }
 //网页加载显示省份信息 
 $(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('<option value="0">-请选择-</option>');
 //遍历追加县市
 city.each(function(k,v){
 var nm = $(this).attr('City');
 var id = $(this).attr('CityID');
 $('#city').append('<option value='+id+'>'+nm+'</option>');
 });
 }
 //以下函数的逻辑与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('<option value="0">-请选择-</option>');
 district.each(function(k,v){
 var nm = $(this).attr('Piecearea');
 var id = $(this).attr('PieceareaID');
 $('#district').append('<option value='+id+'>'+nm+'</option>');
 });
 }

文档

Jquery、Ajax、xml实现三级联动菜单效果

本文主要介绍使用 Jquery+Ajax+xml,首先需要一个包含我国所有地图信息的xml文档。此处选用的xml文档(共1000多行)主要结构如下:<;?xml version=";1.0";encoding=";utf-8";?>;<;area Country=";China";>;<;province ID=";1";provinceID=";110000";province=";北京市";>;<;City CityID=";110100";City=";市辖区";>;<;110101";/>。
推荐度:
标签: 菜单 实现 xml
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top