【发布时间】:2014-05-10 03:46:45
【问题描述】:
我有 1 个用于类别(食物、饮料等)的下拉菜单
在我的 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”的值,例如。 “Food”等于数据库中的“Food”。
所以如果我在第一个下拉框中选择“食物”,第二个下拉框将只显示“咖喱”和“肉类”。
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 放在另一个文件(网络服务)中,并在第一次选择中完成选择时使用 AJAX 调用它。
-
您能否详细说明您正在寻找哪种类型的解决方案?你希望这发生在浏览器中的 javascript 中吗?或者您是否希望用户提交表单,然后使用现在呈现的第二个下拉菜单重新加载页面?
-
我在这里回答了一个类似的问题:stackoverflow.com/questions/22728170/…,它具有根据发送的值重新加载保管箱的代码。事实上,正如@MamaWalter 所说,你需要 AJAX
-
我想要它,所以第二个下拉列表被禁用,然后当用户从第一个下拉列表中选择一个选项时,它会立即使用与第一个下拉列表对应的值启用。我在这个网站上看到了很多例子,但没有任何工作。
-
我知道你只能看到 1 个 HTML 下拉列表,因为我把它省略了所以有人可以告诉我怎么做我尝试使用获取 id 然后将其发送到 'ajax.php?value =Food' 但没有任何反应,所以如果有人能提供帮助,我将不胜感激。
标签: javascript php jquery html mysql