jquery+ajax实现省市区三级联动效果简单示例


Posted in Javascript onJanuary 04, 2017

本文实例讲述了jquery+ajax实现省市区三级联动效果。分享给大家供大家参考,具体如下:

一直想学习下Ajax,没时间,汗,这借口太牵强了.下了点教程在手机里,翻了好几遍了,没实战一次.

最近的项目里需要Ajax实现效果,就下了个jquery,然后找了个实例,学习了一下,幡然醒悟,NND,jquery果然强大的一塌糊涂,实现Ajax简直就是不费吹灰之力.下面把学习过程跟大家分享下,虽然还没有搞清楚jquery ajax的底层相关.不管了.我们不需要去发明轮子.呵呵.

先上代码,是一个省市区三级联动的ajax效果:

<select name='sheng' onchange='JavaScript:areas_load(this.value);' class="selectclass">
<option value='0'>请选择省份</option><option value='13'>A - 安徽</option>
<option value='33'>A - 澳门</option><option value='1'>B - 北京</option>
<option value='4'>C - 重庆</option><option value='14'>F - 福建</option>
<option value='21'>G - 广西</option><option value='20'>G - 广东</option>
<option value='28'>G - 甘肃</option><option value='24'>G - 贵州</option>
<option value='22'>H - 海南</option><option value='18'>H - 湖北</option>
<option value='17'>H - 河南</option><option value='19'>H - 湖南</option>
<option value='5'>H - 河北</option><option value='10'>H - 黑龙江</option>
<option value='15'>J - 江西</option><option value='11'>J - 江苏</option>
<option value='9'>J - 吉林</option><option value='8'>L - 辽宁</option>
<option value='30'>N - 宁夏</option><option value='7'>N - 内蒙古</option>
<option value='29'>Q - 青海</option><option value='6'>S - 山西</option>
<option value='23'>S - 四川</option><option value='2'>S - 上海</option>
<option value='16'>S - 山东</option><option value='27'>S - 陕西</option>
<option value='3'>T - 天津</option><option value='34'>T - 台湾</option>
<option value='26'>X - 西藏</option><option value='31'>X - 新疆</option>
<option value='32'>X - 香港</option><option value='25'>Y - 云南</option>
<option value='12'>Z - 浙江</option>
</select>
<SELECT NAME="shi" id="shi" class="selectclass" onchange="JavaScript:area_load(this.value);">
<option value=''>请选择地级市</option>
</SELECT>
<SELECT NAME="xian" id="xian" class="selectclass">
<option value=''>请选择县级市</option>
</SELECT>
<script language="javascript">
function areas_load(id)
{
$.get("/ajax/areaajax.php", { areaid: id },
function(data){
$('#shi').html('<option value="">请选择地级市</option>');
$('#xian').html('<option value="">请选择县级市</option>');
if(id!=0) $('#shi').append(data);
 });
}
function area_load(id)
{
$.get("/ajax/areaajax.php", { areaid: id },
function(data){
$('#xian').html('<option value="">请选择县级市</option>');
if(id!=0) $('#xian').append(data);
 });
}
</script>

代码有些拙劣,大家见谅,下面说下这段代码的工作流程.

首先是页面中加载了jquery的js库文件,这个不用多说吧.他是ajax效果赖以实现的必不可少的环节.

当下拉框被选中,触发了onchange事件,该事件请求了一个函数areas_load(),如下:

function areas_load(id)
{
$.get("/ajax/areaajax.php", { areaid: id },
function(data){
$('#shi').html('<option value="">请选择地级市</option>');
$('#xian').html('<option value="">请选择县级市</option>');
if(id!=0) $('#shi').append(data);
 });
}

该函数解释如下:

当函数触发时,以get方式传递参数areaid给指定的url地址,就变成了 /ajax/areaajax.php?areaid=x 这样的地址,然后在这个php文件里接受areaid的值,输出指定的代码,function(data) 这个就是php文件里返回的全部代码,当然是在成功完成的状态下.由于jquery封装了这一过程,所以在这里首先起来是非常简便快捷的.再使用$('#shi').append(data) 赋值给指定的id.这样一个ajax的完整过程就实现了.

我只是想把最精髓的地方说给大家,让像我一样的新手不在畏惧ajax这个事物,不在局限于一大堆的教材.说的再多不如一试,想学习ajax的马上就可以开始行动起来啦.

在会用的基础上,再去研究底层实现,这样更有底气,更有耐心和信心.

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
Prototype1.5 rc2版指南最后一篇之Position
Jan 10 Javascript
js 文本滚动效果的实例代码
Aug 17 Javascript
javascript删除option选项的多种方法总结
Nov 22 Javascript
多个jQuery版本共存的处理方案
Mar 17 Javascript
js绘制圆形和矩形的方法
Aug 05 Javascript
js编写三级联动简单案例
Dec 21 Javascript
微信小程序 引用其他js文件实现代码
Feb 22 Javascript
Vue.js 60分钟快速入门教程
Mar 28 Javascript
Angular.JS中的this指向详解
May 17 Javascript
详解webpack require.ensure与require AMD的区别
Dec 13 Javascript
聊聊Vue中provide/inject的应用详解
Nov 10 Javascript
js实现拖拽元素选择和删除
Aug 25 Javascript
基于jQuery实现火焰灯效果导航菜单
Jan 04 #Javascript
深入理解Javascript中的valueOf与toString
Jan 04 #Javascript
使用UrlConnection实现后台模拟http请求的简单实例
Jan 04 #Javascript
js实现定时进度条完成后切换图片
Jan 04 #Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 #Javascript
深入理解JavaScript中的预解析
Jan 04 #Javascript
jQuery操作json常用方法示例
Jan 04 #Javascript
You might like
967 个函式
2006/10/09 PHP
PHP5权威编程阅读学习笔记 附电子书下载
2012/07/05 PHP
php中opendir函数用法实例
2014/11/15 PHP
codeigniter实现get分页的方法
2015/07/10 PHP
使用php+swoole对client数据实时更新(一)
2016/01/07 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
php获取linux命令结果的实例
2017/03/13 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
javascript 年月日联动实现核心代码
2009/12/21 Javascript
使用jQuery.fn自定义jQuery翻页插件
2013/01/20 Javascript
javascript中的return和闭包函数浅析
2014/06/06 Javascript
使用jQuery.wechat构建微信WEB应用
2014/10/09 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
详解vue父子模版嵌套案例
2017/03/04 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
MySQL适配器PyMySQL详解
2017/09/20 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
Python GUI编程 文本弹窗的实例
2019/06/11 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
CSS3基础(RGBa、text-shadow、box-shadow、border-radius)
2012/11/13 HTML / CSS
解决HTML5中的audio在手机端和微信端的不能自动播放问题
2019/11/04 HTML / CSS
Vuori官网:运动服装的终级表现
2021/01/27 全球购物
工商学院毕业生个人自我评价
2013/09/19 职场文书
自动化职业生涯规划书范文
2014/01/03 职场文书
大学生创业感言
2014/01/25 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
2014酒店客房部工作总结
2014/12/16 职场文书
普宁寺导游词
2015/02/04 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
2021年国漫热度排行前十,完美世界上榜,第四是美国动画作品
2022/03/18 国漫