首頁 > web前端 > js教程 > 主體

jQuery PHP MySQL二級聯動下拉式選單實例講解_jquery

WBOY
發布: 2016-05-16 15:35:00
原創
2002 人瀏覽過

二級聯動下拉選單選擇應用在在很多地方,比如說省市下拉動聯動,商品大小類下拉選擇連動。本文將透過實​​例講解使用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三者結合如何實現的二級聯動下拉選單,程式還有一些不足之處,需要繼續完善,希望本文可以給大家一點啟發。

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板