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 常用操作方法
Jan 28 Javascript
jquery 批量上传图片实现代码
Jan 28 Javascript
Textarea与懒惰渲染实现代码
Jan 04 Javascript
用JS在浏览器中创建下载文件
Mar 05 Javascript
Bootstrap每天必学之轮播(Carousel)插件
Apr 25 Javascript
Vue.js第二天学习笔记(vue-router)
Dec 01 Javascript
详解AngularJs HTTP响应拦截器实现登陆、权限校验
Apr 11 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
React-intl 实现多语言的示例代码
Nov 03 Javascript
vue中使用cookies和crypto-js实现记住密码和加密的方法
Oct 18 Javascript
layui的布局和表格的渲染以及动态生成表格的方法
Sep 18 Javascript
vue实现PC端分辨率适配操作
Aug 03 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巧获服务器端信息
2006/12/06 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
获取URL地址中的文件名和参数的javascript代码
2009/09/02 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
jquery实现文字由下到上循环滚动的实例代码
2013/08/09 Javascript
最好用的省市二级联动 原生js实现你值得拥有
2013/09/22 Javascript
为指定的元素添加遮罩层的示例代码
2014/01/15 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
javascript中通过arguments参数伪装方法重载
2014/10/08 Javascript
js的toUpperCase方法用法实例
2015/01/27 Javascript
JavaScript 表单处理实现代码
2015/04/13 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
2015/11/21 Javascript
实例剖析AngularJS框架中数据的双向绑定运用
2016/03/04 Javascript
jQuery模仿京东/天猫商品左侧分类导航菜单效果
2016/06/29 Javascript
微信小程序 网络API发起请求详解
2016/11/09 Javascript
jquery实现下拉菜单的手风琴效果
2017/07/23 jQuery
node下使用UglifyJS压缩合并JS文件的方法
2018/03/07 Javascript
详解Vue.js中.native修饰符
2018/04/24 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
ES6中的class是如何实现的(附Babel编译的ES5代码详解)
2019/05/17 Javascript
VUE实现Studio管理后台之鼠标拖放改变窗口大小
2020/03/04 Javascript
微信小程序实现打卡签到页面
2020/09/21 Javascript
python操作MySQL数据库具体方法
2013/10/28 Python
深入理解Python爬虫代理池服务
2018/02/28 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
python+opencv打开摄像头,保存视频、拍照功能的实现方法
2019/01/08 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
PyCharm取消波浪线、下划线和中划线的实现
2020/03/03 Python
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
美国第二大连锁书店:Books-A-Million
2017/12/28 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
简历中的自我评价范文
2014/02/05 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
兴趣班停课通知
2015/04/24 职场文书
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS