jQuery+PHP+MySQL實現二級聯動下拉式功能表

來源:互聯網
上載者:User

二級聯動下拉式功能表選擇應用在在很多地方,比如說省市下拉聯動,商品大小類下拉選擇聯動。本文將通過執行個體講解使用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"> </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()。

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等,目的就是為了讓讀者能夠直觀的知曉資料的傳輸查詢。

最後再給大家一個提醒:記得載入jquery類庫。。。。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.