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 相关文章推荐
jscript之List Excel Color Values
Jun 13 Javascript
JAVASCRIPT keycode总结
Feb 04 Javascript
js与jQuery实现checkbox复选框全选/全不选的方法
Jan 05 Javascript
jquery操作select元素和option的实例代码
Feb 03 Javascript
jQuery焦点图左右转换效果
Dec 12 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
详解如何在nuxt中添加proxyTable代理
Aug 10 Javascript
使用validate.js实现表单数据提交前的验证方法
Sep 04 Javascript
vue-cli 3 全局过滤器的实例代码详解
Jun 03 Javascript
vscode vue 文件模板的配置方法
Jul 23 Javascript
JavaScript中的各种宽高属性的实现
May 08 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
Jul 20 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基础学习之流程控制的实现分析
2013/04/28 PHP
php实现的SESSION类
2014/12/02 PHP
遍历echsop的region表形成缓存的程序实例代码
2016/11/01 PHP
PHP实现找出有序数组中绝对值最小的数算法分析
2017/08/07 PHP
用RadioButten或CheckBox实现div的显示与隐藏
2013/09/21 Javascript
JavaScript中的运算符种类及其规则介绍
2013/09/26 Javascript
js setTimeout opener的用法示例详解
2013/10/23 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
一个实用的图片切换支持点击切换和自动轮播
2014/09/09 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
javascript自动生成包含数字与字符的随机字符串
2015/02/09 Javascript
Jquery简单实现GridView行高亮的方法
2015/06/15 Javascript
JavaScript学习小结之被嫌弃的eval函数和with语句实例详解
2016/08/01 Javascript
Bootstrap中datetimepicker使用小结
2016/12/28 Javascript
AngularJS自定义指令详解(有分页插件代码)
2017/06/12 Javascript
JavaScript中使用import 和require打包后实现原理分析
2018/03/07 Javascript
纯js+css实现仿移动端淘宝网站的弹出详情框功能
2019/12/29 Javascript
[43:35]TI4 循环赛第二日Liquid vs Fnatic
2014/07/11 DOTA
python对象及面向对象技术详解
2016/07/19 Python
python爬取NUS-WIDE数据库图片
2016/10/05 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
完美解决安装完tensorflow后pip无法使用的问题
2018/06/11 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Python统计分析模块statistics用法示例
2019/09/06 Python
使用python绘制温度变化雷达图
2019/10/18 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
解决windows上安装tensorflow时报错,“DLL load failed: 找不到指定的模块”的问题
2020/05/20 Python
python3通过qq邮箱发送邮件以及附件
2020/05/20 Python
CSS3+Sprite实现僵尸行走动画特效源码
2016/01/27 HTML / CSS
波兰补充商店:Muscle Power
2018/10/29 全球购物
下面这个程序执行后会有什么错误或者效果
2014/11/03 面试题
北京大学自荐信范文
2014/01/28 职场文书
中层干部竞聘演讲稿
2014/05/15 职场文书
婚礼庆典答谢词
2015/01/20 职场文书
2015年乡镇安全生产工作总结
2015/05/19 职场文书