PHP程序员站--PHP编程开发平台
 当前位置:主页 >> 网页制作 >> Javascript >> 

jQuery+PHP+MySQL实现二级联动下拉菜单

jQuery+PHP+MySQL实现二级联动下拉菜单

来源:PHP程序员站  作者:  发布时间:2011-06-06
二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。 大类: 前端技术 程序开发 数据库 小类:PHPJAVAASP.NETC++ 实现的效果就是当选择大类时,小类下拉框里

二级联动下拉菜单选择应用在在很多地方,比如说省市下拉联动,商品大小类下拉选择联动。本文将通过实例讲解使用jQuery+PHP+MySQL来实现大小分类二级下拉联动效果。

大类: 前端技术 程序开发 数据库 小类:PHPJAVAASP.NETC++

实现的效果就是当选择大类时,小类下拉框里的选项内容也随着改变。实现原理:根据大类的值,通过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"> </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.empty(); 然后,在页面载入后执行调用函数:

$(function(){     getSelectVal();     $("#bigname").change(function(){         getSelectVal();     }); }); 在页面初始的时候,下拉框是要设置选项的,所以在初始的时候就要调用getSelectVal(),而当大类选项改变时,也调用了getSelectVal()。

PHPinclude_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;


延伸阅读:
很眩的半透明下拉菜单导航条
用DIV+js模拟的一个下拉菜单(select)源码
用DIV+js模拟的一个下拉菜单(select)
25个优秀的下拉菜单导航脚本
用CSS3制作网页下拉菜单代码
jQuery+CSS实现多级下拉菜单
30 款下拉菜单导航菜单脚本欣赏
jQuery水平下拉菜单插件 jdMenu
使用CSS和jQuery制作漂亮的下拉选项菜单
Tags: jQuery   php   mysql   二级联动   下拉菜单  
最新文章
推荐阅读
月点击排行榜
PHP程序员站 Copyright © 2007-2010,PHPERZ.COM All Rights Reserved 粤ICP备07503606号