2012-05-13 42 views
-1

我有我在哪裏從列表填充下拉列表從另一個表中查詢第二個下拉列表的條件下拉列表的情況。我怎麼這樣做,使用PHP和選擇第二個下拉列表傳遞給另一個輸入表單?兩張表格中都有相同的formBarkod列,這是表格數據之間的聯繫。如何填充從MySQL數據庫的下拉列表和基於選擇填充另一個下拉列表中的PHP形式?

+1

到目前爲止你做了什麼!? – Broncha

+1

從[常見問題](http://stackoverflow.com/faq#dontask):_你應該只根據你面臨的實際問題提出實際的,可回答的問題。聊天,開放式問題會降低我們網站的實用性,並將其他問題推到首頁。**您可以訪問:[http://www.learningjquery.com/](http://www.learningjquery.com/) .com /)和[http://jquery.com/](http://jquery.com/)。 – Zuul

回答

1

這聽起來像一個JavaScript的工作。您可以使用php和mysql填充每個下拉列表,但是您需要JavaScript才能在第一個下拉列表中選擇,以影響下一個下拉列表中的哪一個可見。 PHP和MySQL看起來像這樣:

<? 
//Assuming $dbh is a proper mysqli object... 
$options = $dbh->query("SELECT * FROM options"); 

echo '<select id="firstDropdown">'; 
while($o = $options->fetch_object()) { 
    echo '<option value="'.$o->id.'">'.$o->name.'</option>'; 
} 
?> 

爲每個下拉菜單重複該過程。

然後,你必須寫一些JavaScript來改變工作。我不知道足夠的「純」JavaScript來做到這一點,但我可以告訴你它在jQuery中的樣子。假設你的HTML看起來像這樣:

<select id="firstDropdown"> 
    <option value="1">Option 1</option> 
    <option value="2">Option 2</option> 
    <option value="3">Option 3</option> 
</select> 
<select id="dropdown1" class="dropdown"> 
    ... 
</select> 
<select id="dropdown2" class="dropdown"> 
    ... 
</select> 
<select id="dropdown3" class="dropdown"> 
    ... 
</select> 

然後jQuery的是這樣的(當然都包裹在一個的document.ready())

$(".dropdown").hide(); 

$("#firstDropdown").on("change",function(){ 
    $(".dropdown").hide(); 
    var value = $("#firstDropdown").val(); 
    $("#dropdown"+value).show(); 
}); 

的基本流程是,你可以隱藏所有的次要下拉菜單。然後,只要第一個下拉列表中的值發生變化,您就會重新隱藏輔助下拉列表,並只顯示所需的下拉列表。您可以通過實際創建dom元素或通過使用ajax調用來獲取新的下拉菜單來做更多的事情,但這涵蓋了基本概念。

編輯:這是jsfiddle.net的工作示例

+0

這個想法太棒了!如果我理解了你的jQuery代碼,在選擇第一個後會出現另一個下拉菜單,但是我的JavaScript太窮了,無法做到這一點 – mdakic

+1

作爲一個Web開發人員,學習一些JavaScript絕對是值得的。 jQuery絕對是學習javascript的最簡單方法,它的使用非常廣泛,所以你可以得到很多支持。 –

相關問題