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 相关文章推荐
js中几种去掉字串左右空格的方法
Dec 25 Javascript
javascript简单实现跟随滚动条漂浮的返回顶部按钮效果
Aug 19 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
Oct 20 Javascript
浅谈MVC+EF easyui dataGrid 动态加载分页表格
Nov 10 Javascript
详解jQuery中基本的动画方法
Dec 14 Javascript
原生javascript移动端滑动banner效果
Mar 10 Javascript
详解node如何让一个端口同时支持https与http
Jul 04 Javascript
JS路由跳转的简单实现代码
Sep 21 Javascript
select2 ajax 设置默认值,初始值的方法
Aug 09 Javascript
vue+iview+less 实现换肤功能
Aug 17 Javascript
layui-laydate时间日历控件使用方法详解
Nov 15 Javascript
Vue中的循环及修改差值表达式的方法
Aug 29 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知道与问问的采集插件代码
2010/10/12 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
JavaScript 指导方针
2007/04/05 Javascript
客户端限制只能上传jpg格式图片的js代码
2010/12/09 Javascript
如何使用jQuery来处理图片坏链具体实现步骤
2013/05/02 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
jQuery使用中可能被XSS攻击的一些危险环节提醒
2016/05/24 Javascript
Bootstrap警告框(Alert)插件使用方法
2017/03/21 Javascript
详解用vue编写弹出框组件
2017/07/04 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
详解angular2如何手动点击特定元素上的点击事件
2018/10/16 Javascript
Vue实现滑动拼图验证码功能
2019/09/15 Javascript
Js实现复选框的全选、全不选反选功能代码实例
2020/02/28 Javascript
vue 解决data中定义图片相对路径页面不显示的问题
2020/08/13 Javascript
python 从远程服务器下载日志文件的程序
2013/02/10 Python
python文件和目录操作函数小结
2014/07/11 Python
Python设计模式之MVC模式简单示例
2018/01/10 Python
python3 爬取图片的实例代码
2018/11/06 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
pycharm 安装JPype的教程
2019/08/08 Python
你可能不知道的Python 技巧小结
2020/01/29 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
JavaScript+Canvas实现自定义画板的示例代码
2019/05/13 HTML / CSS
英国最大的体育&时尚零售公司:JD Sports
2017/12/13 全球购物
小学国庆节活动方案
2014/02/11 职场文书
项目总经理岗位职责
2014/02/14 职场文书
弘扬职业精神演讲稿
2014/03/20 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
迎新晚会策划方案
2014/06/13 职场文书
法人单位适用的授权委托书
2014/09/19 职场文书
Pytorch反向传播中的细节-计算梯度时的默认累加操作
2021/06/05 Python
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python