jQuery+PHP+MySQL二级联动下拉菜单实例讲解


Posted in Javascript onOctober 27, 2015

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。
实现效果:当选择大类时,小类下拉框里的选项内容也随着改变。

实现原理:根据大类的值,通过jQuery把值传给后台PHP处理,PHP通过查询MySQl数据库,得到相应的小类,并返回JSON数据给前端处理。
XHTML
首先我们要建立两个下拉选择框,第一个是大类,第二个是小类。大类的值可以是预先写好,也可以是从数据库读取。

<label>大类:</label> 
<select name="bigname" id="bigname"> 
  <option value="1">前端技术</option> 
  <option value="2">程序开发</option> 
  <option value="3">数据库</option> 
</select> 
<label>小类:</label> 
<select name="smallname" id="smallname"> 
<option value="1">flash</option> 
<option value="2">ps</option> 
</select>

jQuery
先写一个函数,获取大类选择框的值,并通过$.getJSON方法传递给后台server.php,读取后台返回的JSON数据,并通过$.each方法遍历JSON数据,将对应的值写入一个option字符串,最后将option追加到小类里。

function getSelectVal(){ 
  $.getJSON("server.php",{bigname:$("#bigname").val()},function(json){ 
    var smallname = $("#smallname"); 
    $("option",smallname).remove(); //清空原有的选项 
    $.each(json,function(index,array){ 
      var option = "<option value='"+array['id']+"'>"+array['title']+"</option>"; 
      smallname.append(option); 
    }); 
  }); 
}

注意,在遍历JSON数据追加之前一定要先将小类里的原有的项清空。清空选项的方法有两种,一种是上文代码中提到,还有一种更简单直接的方法:

smallname.();

然后,在页面载入后执行调用函数:

$(function(){ 
  getSelectVal(); 
  $("#bigname").change(function(){ 
    getSelectVal(); 
  }); 
});

在页面初始的时候,下拉框是要设置选项的,所以在初始的时候就要调用getSelectVal(),而当大类选项改变时,也调用了getSelectVal()。
PHP

include_once("connect.php"); //链接数据库 
 
$bigid = $_GET["bigname"]; 
if(isset($bigid)){ 
  $q=mysql_query("select * from catalog where cid = $bigid"); 
  while($row=mysql_fetch_array($q)){ 
    $select[] = array("id"=>$row[id],"title"=>$row[title]); 
  } 
  echo json_encode($select); 
}

根据jQuery传递过来的大类的value值,构造SQL语句查询分类表,最终输出JSON数据。本站在未做特别说明的情况下所使用的PHP与MySQL连接,和查询语句等均使用原始语句方法如mysql_query等,目的就是为了让读者能够直观的知晓数据的传输查询。
最后附上MYSQL表结构:

CREATE TABLE `catalog` ( 
 `id` mediumint(6) NOT NULL auto_increment, 
 `cid` mediumint(6) NOT NULL default '0', 
 `title` varchar(50) NOT NULL, 
 PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

以上就是介绍了jQuery+PHP+MySQL三者结合如何实现的二级联动下拉菜单,程序还有一些不足之处,需要继续完善,希望本文可以给大家一点启发。

Javascript 相关文章推荐
JavaScript进阶教程(第四课第一部分)
Apr 05 Javascript
document.compatMode介绍
May 21 Javascript
js 获取计算后的样式写法及注意事项
Feb 25 Javascript
web前端设计师们常用的jQuery特效插件汇总
Dec 07 Javascript
JavaScript运算符小结
Jun 03 Javascript
javascript日期验证之输入日期大于等于当前日期
Dec 13 Javascript
Bootstrap源码解读下拉菜单(4)
Dec 23 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 Javascript
JS中appendChild追加子节点无效的解决方法
Oct 14 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
JS出现404错误原理及解决方案
Jul 01 Javascript
如何用JavaScript检测当前浏览器是无头浏览器
Apr 27 Javascript
jQuery结合CSS制作动态的下拉菜单
Oct 27 #Javascript
jquery实现的V字形显示效果代码
Oct 27 #Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 #Javascript
基于Jquery+div+css实现弹出登录窗口(代码超简单)
Oct 27 #Javascript
JS实现浏览器状态栏文字闪烁效果的方法
Oct 27 #Javascript
JS实现浏览器状态栏显示时间的方法
Oct 27 #Javascript
JavaScript模块规范之AMD规范和CMD规范
Oct 27 #Javascript
You might like
一贴学会PHP 新手入门教程
2009/08/03 PHP
用PHP获取Google AJAX Search API 数据的代码
2010/03/12 PHP
php循环检测目录是否存在并创建(循环创建目录)
2011/01/06 PHP
PHP __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
Session 失效的原因汇总及解决丢失办法
2015/09/30 PHP
php curl上传、下载、https登陆实现代码
2017/07/23 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
2019/05/09 PHP
Javascript 倒计时源代码.(时.分.秒) 详细注释版
2011/05/09 Javascript
JS仿flash上传头像效果实现代码
2011/07/18 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
Angularjs实现搜索关键字高亮显示效果
2017/01/17 Javascript
js实现百度搜索提示框
2017/02/05 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
JS变量及其作用域
2017/03/29 Javascript
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
Angular6使用forRoot() 注册单一实例服务问题
2019/08/27 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
python自动化测试实例解析
2014/09/28 Python
Python对数据库操作
2016/03/28 Python
基础的十进制按位运算总结与在Python中的计算示例
2016/06/28 Python
Python正则表达式如何进行字符串替换实例
2016/12/28 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python 自动轨迹绘制的实例代码
2019/07/05 Python
django如何自己创建一个中间件
2019/07/24 Python
Python tkinter实现图片标注功能(完整代码)
2019/12/08 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
Rowdy Gentleman服装和配饰:美好时光
2019/09/24 全球购物
美国饼干礼物和美食甜点购买网站:Cheryl’s
2020/05/28 全球购物
中医药大学市场营销专业自荐信
2013/09/29 职场文书
个人简历的自荐信
2013/10/23 职场文书
建筑装饰学院室内设计专业个人自我评价
2013/12/07 职场文书
国际贸易毕业生求职信范文
2014/02/21 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
党支部对照检查材料
2014/08/25 职场文书