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 相关文章推荐
jquery ajax提交表单数据的两种实现方法
Apr 29 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
Apr 11 Javascript
jquery 扑捉回车键事件代码
Apr 24 Javascript
js图片预加载示例
Apr 30 Javascript
js实现键盘Enter键提交表单的方法
May 27 Javascript
AngularJS ng-bind-template 指令详解
Jul 30 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
JavaScript如何对图片进行黑白化
Apr 10 Javascript
JS使用Date对象实时显示当前系统时间简单示例
Aug 23 Javascript
js实现web调用摄像头 js截取视频画面
Apr 21 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
Node.js之删除文件夹(含递归删除)代码实例
Sep 09 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
PHP flush()与ob_flush()的区别详解
2013/06/03 PHP
ThinkPHP中自定义错误页面和提示页面实例
2014/11/22 PHP
php基于dom实现的图书xml格式数据示例
2017/02/03 PHP
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
jquery zTree异步加载简单实例分享
2013/02/05 Javascript
Javascript 中 null、NaN和undefined的区别总结
2013/04/10 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
javascript获取设置div的高度和宽度兼容任何浏览器
2013/09/22 Javascript
关闭ie窗口清除Session的解决方法
2014/01/10 Javascript
禁用Tab键JS代码兼容Firefox和IE
2014/04/18 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
基于JavaScript实现移动端点击图片查看大图点击大图隐藏
2015/11/04 Javascript
NodeJS实现阿里大鱼短信通知发送
2016/01/17 NodeJs
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
Angularjs添加排序查询功能的实例代码
2017/10/24 Javascript
node.js基于fs模块对系统文件及目录进行读写操作的方法详解
2017/11/10 Javascript
[05:24]TI9采访——教练
2019/08/24 DOTA
python脚本实现分析dns日志并对受访域名排行
2014/09/18 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
在pycharm下设置自己的个性模版方法
2019/07/15 Python
win10安装tesserocr配置 Python使用tesserocr识别字母数字验证码
2020/01/16 Python
Python class的继承方法代码实例
2020/02/14 Python
jupyter 实现notebook中显示完整的行和列
2020/04/09 Python
Python urllib2运行过程原理解析
2020/06/04 Python
CSS3图片旋转特效(360/60/-360度)
2013/10/10 HTML / CSS
Html5如何唤起百度地图App的方法
2019/01/27 HTML / CSS
美国儿童运动鞋和服装零售商:Kids Foot Locker
2017/08/05 全球购物
英国独特家具和家庭用品购物网站:Cuckooland
2020/08/30 全球购物
继承公证书样本
2014/04/04 职场文书
母校寄语大全
2014/04/10 职场文书
2015年师德表现自我评价
2015/03/05 职场文书
如何利用python和DOS获取wifi密码
2021/03/31 Python
Nginx内网单机反向代理的实现
2021/11/07 Servers
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS