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 相关文章推荐
jQuery EasyUI API 中文文档 - Pagination分页
Sep 29 Javascript
Javascript 加载和执行-性能提高篇
Dec 28 Javascript
浅谈javascript的调试
Jan 28 Javascript
实例讲解避免javascript冲突的方法
Jan 03 Javascript
实例代码详解javascript实现窗口抖动及qq窗口抖动
Jan 04 Javascript
浅谈JS中的三种字符串连接方式及其性能比较
Sep 02 Javascript
jQuery插件实现可输入和自动匹配的下拉框
Oct 24 Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 Javascript
js Date()日期函数浏览器兼容问题解决方法
Sep 12 Javascript
浅析vue-router原理
Oct 19 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 Javascript
使用PreloadJS加载图片资源的基础方法详解
Feb 03 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
一个很方便的 XML 类!!原创的噢
2006/10/09 PHP
PHP 输出简单动态WAP页面
2009/06/09 PHP
基于pear auth实现登录验证
2010/02/26 PHP
php的一些小问题
2010/07/03 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
php设计模式之模板模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
一个用js实现控制台控件的代码
2007/09/04 Javascript
javascript 一些用法小结
2009/09/11 Javascript
javascript 语法基础 想学习js的朋友可以看看
2009/12/16 Javascript
一个挺有意思的Javascript小问题说明
2011/09/26 Javascript
JS调用CS里的带参方法实例
2013/08/01 Javascript
AngularJS入门教程之Hello World!
2014/12/06 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
JS实现微信摇一摇原理解析
2017/07/22 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
解决elementui表格操作列自适应列宽
2020/12/28 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
详解Python的Django框架中Manager方法的使用
2015/07/21 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
Python 移动光标位置的方法
2019/01/20 Python
python3实现zabbix告警推送钉钉的示例
2019/02/20 Python
Python imutils 填充图片周边为黑色的实现
2020/01/19 Python
pytorch判断是否cuda 判断变量类型方式
2020/06/23 Python
Html5获取高德地图定位天气的方法
2019/12/26 HTML / CSS
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
岗位职责风险防控
2014/02/18 职场文书
广告语设计及教案
2014/03/21 职场文书
会计专业个人自我鉴定
2014/03/21 职场文书
村长反四风问题个人对照检查材料
2014/09/21 职场文书
高一学年自我鉴定范文(3篇)
2014/09/26 职场文书
支教个人总结
2015/03/04 职场文书
幼儿园教师自我评价
2015/03/04 职场文书
淮海战役观后感
2015/06/11 职场文书