jQuery+PHP+MySQL二級聯(lián)動下拉菜單實例講解
二級聯(lián)動下拉菜單選擇應(yīng)用在在很多地方,比如說省市下拉聯(lián)動,商品大小類下拉選擇聯(lián)動。本文將通過實例講解使用jQuery+PHP+MySQL來實現(xiàn)大小分類二級下拉聯(lián)動效果。
實現(xiàn)效果:當(dāng)選擇大類時,小類下拉框里的選項內(nèi)容也隨著改變。
實現(xiàn)原理:根據(jù)大類的值,通過jQuery把值傳給后臺PHP處理,PHP通過查詢MySQl數(shù)據(jù)庫,得到相應(yīng)的小類,并返回JSON數(shù)據(jù)給前端處理。
XHTML
首先我們要建立兩個下拉選擇框,第一個是大類,第二個是小類。大類的值可以是預(yù)先寫好,也可以是從數(shù)據(jù)庫讀取。
<label>大類:</label> <select name="bigname" id="bigname"> <option value="1">前端技術(shù)</option> <option value="2">程序開發(fā)</option> <option value="3">數(shù)據(jù)庫</option> </select> <label>小類:</label> <select name="smallname" id="smallname"> <option value="1">flash</option> <option value="2">ps</option> </select>
jQuery
先寫一個函數(shù),獲取大類選擇框的值,并通過$.getJSON方法傳遞給后臺server.php,讀取后臺返回的JSON數(shù)據(jù),并通過$.each方法遍歷JSON數(shù)據(jù),將對應(yīng)的值寫入一個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數(shù)據(jù)追加之前一定要先將小類里的原有的項清空。清空選項的方法有兩種,一種是上文代碼中提到,還有一種更簡單直接的方法:
smallname.();
然后,在頁面載入后執(zhí)行調(diào)用函數(shù):
$(function(){
getSelectVal();
$("#bigname").change(function(){
getSelectVal();
});
});
在頁面初始的時候,下拉框是要設(shè)置選項的,所以在初始的時候就要調(diào)用getSelectVal(),而當(dāng)大類選項改變時,也調(diào)用了getSelectVal()。
PHP
include_once("connect.php"); //鏈接數(shù)據(jù)庫
$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);
}
根據(jù)jQuery傳遞過來的大類的value值,構(gòu)造SQL語句查詢分類表,最終輸出JSON數(shù)據(jù)。本站在未做特別說明的情況下所使用的PHP與MySQL連接,和查詢語句等均使用原始語句方法如mysql_query等,目的就是為了讓讀者能夠直觀的知曉數(shù)據(jù)的傳輸查詢。
最后附上MYSQL表結(jié)構(gòu):
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三者結(jié)合如何實現(xiàn)的二級聯(lián)動下拉菜單,程序還有一些不足之處,需要繼續(xù)完善,希望本文可以給大家一點啟發(fā)。
- jquery無限級聯(lián)下拉菜單簡單實例演示
- jQuery實現(xiàn)非常實用漂亮的select下拉菜單選擇效果
- jquery實現(xiàn)鼠標(biāo)滑過顯示二級下拉菜單效果
- jQuery結(jié)合CSS制作漂亮的select下拉菜單
- jQuery實現(xiàn)精美的多級下拉菜單特效
- 用jquery實現(xiàn)的一個超級簡單的下拉菜單
- jquery仿京東導(dǎo)航/仿淘寶商城左側(cè)分類導(dǎo)航下拉菜單效果
- 來自國外的30個基于jquery的Web下拉菜單
- 用jquery實現(xiàn)下拉菜單效果的代碼
- jquery實現(xiàn)二級導(dǎo)航下拉菜單效果實例
相關(guān)文章
jQuery插件EasyUI實現(xiàn)Layout框架頁面中彈出窗體到最頂層效果(穿越iframe)
這篇文章主要介紹了jQuery插件EasyUI實現(xiàn)Layout框架頁面中彈出窗體到最頂層效果,具有穿越iframe的功能,涉及jQuery的EasyUI插件屬性操作相關(guān)技巧,需要的朋友可以參考下2016-08-08
基于jQuery實現(xiàn)交互體驗社會化分享代碼附源碼下載
基于jQuery實現(xiàn)交互體驗社會化分享代碼附源碼下載。這是一款鼠標(biāo)點擊分享按鈕向右滑出騰訊微博,新浪微博,QQ空間,豆瓣,微信,二維碼分享等分享平臺,本段代碼比較實用,需要的朋友參考下吧2016-01-01
快速學(xué)習(xí)jQuery插件 Form表單插件使用方法
快速學(xué)習(xí)jQuery插件中的Form表單插件使用方法,可以非常容易地、無侵入地升級HTML表單以支持Ajax,感興趣的小伙伴們可以參考一下2015-12-12
jQuery 獲取除某指定對象外的其他對象 ( :not() 與.not())
這篇文章主要介紹了JQuery 獲取除某指定對象外的其他對象 ( :not() 與.not()),需要的朋友可以參考下2018-10-10
有關(guān)于eclipse配置spket需要注意的一些地方
用eclipse開發(fā)jquery程序,可以安裝spket插件,這樣在寫代碼的時候,就會有智能感知.eclipse配置spket的文章網(wǎng)上到處都是,spket官網(wǎng)上也有介紹.但配置后有的人無論如何也沒有智能感知提示,我就是其中一個.2013-04-04
jQuery中filter(),not(),split()使用方法
jQuery下一些查找過濾功能filter(),not(),split()用法,可以讓jquery更容易的操作控制頁面元素。2010-07-07
jQuery下擴展插件和拓展函數(shù)的寫法(匿名函數(shù)使用的典型例子)
這些年,javascript火起來了,主要歸功于AJAX的推廣應(yīng)用,Web2.0的發(fā)展。。。于是,出現(xiàn)了很多的javascript框架。2010-10-10

