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 时间比较实现代码
Oct 28 Javascript
jQuery学习5 jQuery事件模型
Feb 07 Javascript
Jquery绑定事件(bind和live的区别介绍)
Aug 23 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
探讨JavaScript中声明全局变量三种方式的异同
Dec 03 Javascript
通过正则表达式实现表单验证是否为中文
Feb 18 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
Nov 18 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
js实现瀑布流的三种方式比较
Jun 28 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
vue 如何添加全局函数或全局变量以及单页面的title设置总结
Jun 01 Javascript
基于Bootstrap和JQuery实现动态打开和关闭tab页的实例代码
Jun 10 jQuery
基于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 随机数的产生、页面跳转、件读写、文件重命名、switch语句
2009/08/07 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
phplot生成图片类用法详解
2015/01/06 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
2017/05/26 PHP
php基于 swoole 实现的异步处理任务功能示例
2019/08/13 PHP
js wmp操作代码小结(音乐连播功能)
2008/11/08 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
JavaScript面向对象之静态与非静态类
2010/02/03 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
微信小程序实现导航栏选项卡效果
2020/06/19 Javascript
angular 表单验证器验证的同时限制输入的实现
2019/04/11 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
JavaScript实现网页tab栏效果制作
2020/11/20 Javascript
原生JavaScript实现留言板
2021/01/10 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
[04:32]玩具屠夫中文语音节选
2020/08/23 DOTA
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
使用Django2快速开发Web项目的详细步骤
2019/01/06 Python
python设置随机种子实例讲解
2019/09/12 Python
python manage.py runserver流程解析
2019/11/08 Python
Pycharm编辑器功能之代码折叠效果的实现代码
2020/10/15 Python
几款好用的python工具库(小结)
2020/10/20 Python
Django如何重置migration的几种情景
2021/02/24 Python
潘多拉珠宝英国官方网上商店:PANDORA英国
2018/06/12 全球购物
北承题目(C++)
2012/05/16 面试题
优秀的茶餐厅创业计划书
2014/01/03 职场文书
迎新晚会邀请函
2014/02/01 职场文书
幼儿园门卫岗位职责
2014/02/14 职场文书
小学捐书活动总结
2014/07/05 职场文书
办公用品管理制度
2015/08/04 职场文书
导游词之金鞭溪风景区
2019/09/12 职场文书
Oracle数据库中通用的函数实例详解
2022/03/25 Oracle
Javascript中Microtask和Macrotask鲜为人知的知识点
2022/04/02 Javascript