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 相关文章推荐
收集的一些Array及String原型对象的扩展实现代码
Dec 05 Javascript
js中有关IE版本检测
Jan 04 Javascript
关于Jquery操作Cookie取值错误的解决方法
Aug 26 Javascript
window.open打开页面居中显示的示例代码
Dec 27 Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
May 15 Javascript
jQuery实现两款有动画功能的导航菜单代码
Sep 16 Javascript
基于vue实现可搜索下拉框定制组件
Mar 26 Javascript
vue 下列表侧滑操作实例代码详解
Jul 24 Javascript
vue.js编译时给生成的文件增加版本号
Sep 17 Javascript
vuex分模块后,实现获取state的值
Jul 26 Javascript
JS实现鼠标移动拖尾
Dec 27 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里的中文变量说明
2011/07/23 PHP
php inc文件使用的风险和注意事项
2013/11/12 PHP
Thinkphp 空操作、空控制器、命名空间(详解)
2017/05/05 PHP
微信JSSDK分享功能图文实例详解
2019/04/08 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
jQuery 计算iframe 窗口大小的方法
2014/05/13 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
javascript中typeof操作符和constucor属性检测
2015/02/26 Javascript
JavaScript中常见获取元素的方法汇总
2015/03/04 Javascript
JavaScript高级程序设计(第三版)学习笔记6、7章
2016/03/11 Javascript
jQuery中each()、find()和filter()等节点操作方法详解(推荐)
2016/05/25 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
JavaScript实现简单的四则运算计算器完整实例
2017/04/28 Javascript
vue-cli + sass 的正确打开方式图文详解
2017/10/27 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
jsonp跨域及实现百度首页联想功能的方法
2018/08/30 Javascript
浅谈Vue数据响应
2018/11/05 Javascript
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
python查询sqlite数据表的方法
2015/05/08 Python
利用PyInstaller将python程序.py转为.exe的方法详解
2017/05/03 Python
分析Python读取文件时的路径问题
2018/02/11 Python
Python虚拟环境的原理及使用详解
2019/07/02 Python
基于python实现简单网页服务器代码实例
2020/09/14 Python
详解css3自定义滚动条样式写法
2017/12/25 HTML / CSS
利用纯CSS3实现动态的自行车特效源码
2017/01/20 HTML / CSS
2014年圣诞节倒计时网页的制作过程
2014/12/05 HTML / CSS
澳大利亚宠物商店:Petbarn
2017/11/18 全球购物
中专生自我鉴定书范文
2013/12/28 职场文书
2014两会优秀的心得体会范文
2014/03/17 职场文书
领导班子三严三实对照检查材料
2014/09/25 职场文书
品德与社会教学反思
2016/02/24 职场文书
表扬信范文
2019/04/22 职场文书
创业计划书之冷饮店
2019/09/27 职场文书
800字作文之大雪
2019/12/04 职场文书
js实现模拟购物商城案例
2021/05/18 Javascript