1
我有1下拉它是用於類別(食品,飲料等)填充HTML/PHP下拉基於第一個下拉選擇
在我的MySQL表(t_menu_category)我有:
+----+---------------+-------------------+----------------------+
| ID | category_name | sub_category_name | category_description |
+----+---------------+-------------------+----------------------+
| 1 | Food | Curries | Spicy Curries |
| 2 | Food | Meat | Lamb, Pork, Chicken |
| 3 | Drinks | Alcohol | Fine Tasting Lager |
| 4 | Desserts | Cakes | Chocolate Cake |
+----+---------------+-------------------+----------------------+
我有第一個下拉菜單顯示「category_name」的值,但我想要的是當我選擇食物時,我希望第二個下拉框更新,並只顯示「sub_category_name」的值,其中第一個選擇例如。 「食物」等於數據庫中的「食物」。
因此,如果我在第一個下拉框中選擇了「食物」,第二個下拉框將僅顯示「咖喱」&「肉」。
HTML:
<form method="post" action="<?php $_SERVER['PHP_SELF'] ?>">
<p>
<label for="item_name">Item Name</label>
<input id="item_name" name="item_name" required="required" type="text" placeholder="Item Name" />
</p>
<p>
<label for="item_description">Item Description</label>
<textarea rows="3" cols="100%" required="required" name="item_description">Item Description</textarea>
</p>
<p>
<label for="item_category">Item Category</label>
<select id="item_category" name="item_category" required="required">
<option selected="selected">-- Select Category --</option>
<?php
$sql = mysql_query("SELECT category_name FROM t_menu_category");
while ($row = mysql_fetch_array($sql)){
?>
<option value="<?php echo $row['category_name']; ?>"><?php echo $row['category_name']; ?></option>
<?php
// close while loop
}
?>
</select>
</p>
<p class="center"><input class="submit" type="submit" name="submit" value="Add Menu Item"/></p>
</form>
任何幫助,將不勝感激:)
一種方法可能是將您的PHP放入其他文件(Web服務)中,並在使用AJAX時調用它ction在第一次選擇中完成。 – MamaWalter
您可以添加一些更詳細的信息,瞭解您需要的解決方案類型?你想在瀏覽器中使用JavaScript嗎?或者你想讓用戶提交表單,然後讓頁面重新加載第二個下拉列表,現在呈現? – Mike
我在這裏回答了一個類似的問題:http://stackoverflow.com/questions/22728170/retrieve-data-into-ajax-dropdown-menu-using-php-mysql-jquery/22730571#22730571,它有代碼重新加載Dropbox取決於發送的值。實際上,正如@MamaWalter所說,您需要AJAX – Chococroc