簡體   English   中英

動態選擇框

[英]Dynamic Select Box

我正在學習Php和Mysql。

我有一個2表的數據庫(練習)。 一個是類別,另一個是子類別。

在我的html表單中,有一個來自Category表的選擇框數據列表。 因此,我需要,如果我選擇此列表框,則另一個選擇框數據將從與類別表相關的子類別表中出現。 例如:

分類表

Id     Cat_name
1      O level  
2      A level.  

子類別表:

id     Cat_id     Sub_name
1      1          O-level Math
2      1          O-level English
3      2          A-level Math
4      2          A-level English

提前致謝。

如果您希望無縫且高效地完成此操作而無需重新加載頁面,則需要研究Jquery Ajax函數。 Ajax的工作方式是,當有人在第一個框中進行選擇時,它將把數據發送到php腳本,該腳本可以從第一個框中獲取答案,運行mysql查詢,然后將新的子類別返回到原始頁面而無需重新加載頁面。

示例:在您的test.php中

//On selection change state, call the ajax
$("#elementid").change(function() {
 var selection = $(this).children("option:selected");

  $.ajax({
    url: 'caller.php',
    dataType: 'json',
    data: 'selected='+selection,
    success: function(data) {
      //Fill the second selection with the returned mysql data
    }
  });
}

<select id="elementid">
  <option value="volvo">Volvo</option>
  <option value="saab">Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>

在您的caller.php中

$selection = $_POST["selected"];
//Create an array to hold all the subcategories, say the array is called $sub
echo json_encode(array(success => $sub));
exit;

請在Jquery.ajax閱讀

您將需要Ajax來完成此操作,在第一個下拉列表中選擇一個值后,您將通過ajaxn向另一個php文件發送請求,該文件將根據第一個選擇為您提供最終的子類別。 然后,Ajax將在您的第二個下拉列表中插入此新數據。 您還可以從jquery庫中查看post函數,這將使整個過程更加容易。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM