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 相关文章推荐
javascript 限制输入脚本大全
Nov 03 Javascript
IE8提示Invalid procedure call or argument 异常的解决方法
Sep 30 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
轻松实现javascript图片轮播特效
Jan 13 Javascript
学习JavaScript事件流和事件处理程序
Jan 25 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
node.js的事件机制
Feb 08 Javascript
jQuery控制元素隐藏和显示
Mar 03 Javascript
JSON创建键值对(key是中文或者数字)方式详解
Aug 24 Javascript
分析JS中this引发的bug
Dec 12 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
Vue替代marquee标签超出宽度文字横向滚动效果
Dec 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操作sqlserver关于时间日期读取的小小见解
2009/11/29 PHP
深入PHP FTP类的详解
2013/06/13 PHP
php加密算法之实现可逆加密算法和解密分享
2014/01/21 PHP
PHP技术开发微信公众平台
2015/07/22 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
Yii2实现中国省市区三级联动实例
2017/02/08 PHP
降低PHP Redis内存占用
2017/03/23 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
PHP中SESSION过期设置
2021/03/09 PHP
做网页的一些技巧
2007/02/01 Javascript
一个可绑定数据源的jQuery数据表格插件
2010/07/17 Javascript
JQuery FlexiGrid的asp.net完美解决方案 dotNetFlexGrid-.Net原生的异步表格控件
2010/09/12 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
jQuery实现的动态伸缩导航菜单实例
2015/05/07 Javascript
JavaScript实现自动对页面上敏感词进行屏蔽的方法
2015/07/27 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
JS实现数组去重复值的方法示例
2017/02/18 Javascript
vue中计算属性(computed)、methods和watched之间的区别
2017/07/27 Javascript
Echarts基本用法_动力节点Java学院整理
2017/08/11 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
使用Python横向合并excel文件的实例
2018/12/11 Python
Python: 传递列表副本方式
2019/12/19 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
HTML5之SVG 2D入门10—滤镜的定义及使用
2013/01/30 HTML / CSS
LN-CC中国:高端男装和女装的奢侈时尚目的地
2019/09/14 全球购物
方法名是否可以与构造器的名字相同
2012/06/04 面试题
七年级政治教学反思
2014/02/03 职场文书
关于环保的建议书
2014/05/12 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
领导干部查摆“四风”问题自我剖析材料思想汇报
2014/10/05 职场文书
任长霞观后感
2015/06/16 职场文书
Python实现为PDF去除水印的示例代码
2022/04/03 Python
win10识别不了U盘怎么办 win10系统读取U盘失败的解决办法
2022/08/05 数码科技