Jquery+Ajax+xml实现中国地区选择三级联动菜单效果(推荐)
发布时间 - 2026-01-11 01:48:11 点击率:次本文主要介绍使用 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
# 地区三级联动
# jquery+ajax实现省市区三级联动效果简单示例
# jQuery实现的省市县三级联动菜单效果完整实例
# 基于jQuery+JSON的省市二三级联动效果
# 中国地区三级联动下拉菜单效果分析
# jquery读取xml文件实现省市县三级联动的方法
# jQuery ajax实现省市县三级联动
# 省市区三级联动jquery实现代码
# 请选择
# 遍历
# 县市
# 给大家
# 门头沟区
# 平谷区
# 怀柔区
# 房山区
# 石景山区
# 顺义区
# 大兴区
# 通州区
# 昌平区
# 宣武区
# 崇文区
# 丰台区
# 西城区
# 东城区
# 文档
# 朝阳区
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
nginx修改上传文件大小限制的方法
Laravel如何使用Gate和Policy进行权限控制_Laravel权限判定与策略规则配置
Laravel如何实现API资源集合?(Resource Collection教程)
bing浏览器学术搜索入口_bing学术文献检索地址
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信
Edge浏览器提示“由你的组织管理”怎么解决_去除浏览器托管提示【修复】
如何快速搭建高效服务器建站系统?
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
如何用PHP快速搭建CMS系统?
DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解
黑客如何利用漏洞与弱口令入侵网站服务器?
简单实现jsp分页
Laravel如何使用Seeder填充数据_Laravel模型工厂Factory批量生成测试数据【方法】
如何在不使用负向后查找的情况下匹配特定条件前的换行符
Laravel如何实现本地化和多语言支持_Laravel多语言配置与翻译文件管理
Laravel如何与Pusher实现实时通信?(WebSocket示例)
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体
浅谈redis在项目中的应用
香港服务器选型指南:免备案配置与高效建站方案解析
高端建站如何打造兼具美学与转化的品牌官网?
Laravel如何使用Livewire构建动态组件?(入门代码)
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
利用 Google AI 进行 YouTube 视频 SEO 描述优化
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
android nfc常用标签读取总结
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
Laravel Eloquent访问器与修改器是什么_Laravel Accessors & Mutators数据处理技巧
JavaScript如何实现路由_前端路由原理是什么
Laravel怎么实现验证码功能_Laravel集成验证码库防止机器人注册
HTML 中如何正确使用模板变量为元素的 name 属性赋值
七夕网站制作视频,七夕大促活动怎么报名?
通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】
JavaScript中如何操作剪贴板_ClipboardAPI怎么用
5种Android数据存储方式汇总
新三国志曹操传主线渭水交兵攻略
微信小程序 五星评分(包括半颗星评分)实例代码
Windows Hello人脸识别突然无法使用
Laravel如何发送系统通知?(Notification渠道示例)
Laravel如何实现全文搜索功能?(Scout和Algolia示例)
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
网易LOFTER官网链接 老福特网页版登录地址
悟空浏览器如何设置小说背景色_悟空浏览器背景色设置【方法】
如何在建站之星绑定自定义域名?
在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?
Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?

