Мне нужно сделать два выпадающих списка. Скажем, первый из них содержит категории продуктов питания: мороженое, пиццу, лапшу, молочные коктейли.Два выпадающих списка, второй заполненный значениями в базе данных
Так что, если я выберу мороженое, второй выпадающий список будет содержать: шоколад, ваниль, монетный двор и так далее. И если я возьму Пиццу на первом, я хочу, чтобы эта вторая менялась динамически, чтобы она содержала: Pepperoni, All Meat и т. Д.
Однако мне нужен второй раскрывающийся список, который будет заполнен значениями, которые у меня уже есть в моей базе данных. Итак, скажем, если я не из шоколадного мороженого, во втором выпадающем списке не будет шоколада. Это мой желаемый результат.
Я использую HTML, PHP, JavaScript/jQuery и MySQL, поэтому в настоящее время это webapp, и эти два раскрывающихся списка предназначены для удаления значений из базы данных. Итак, скажем, я хочу удалить Pepperoni из Pizzas, я бы выбрал Pizzas в первом выпадающем списке, а затем Pepperoni во втором выпадающем списке. Затем я бы нажал delete, который выполнил бы функцию js для передачи параметров с помощью ajax для PHP, а затем можно выполнить запрос на удаление.
Я застрял в заполнении второго выпадающего списка динамически, любая помощь по этому поводу? То, что я сделал до сих пор для ниспадающего только:
<select id="tester_type">
<option value=""></option>
<option value="LMX">LMX</option>
<option value="LCX">LCX</option>
<option value="CAT">CAT</option>
<option value="J750">J750</option>
<option value="HPPS">HPPS</option>
<option value="HP93K">HP93K</option>
<option value="UFLEX">UFLEX</option>
<option value="IFLEX">IFLEX</option>
<option value="QRT">QUARTET</option>
<option value="TGR">TIGER</option>
<option value="ETS">ETS</option>
<option value="LEX">LEX</option>
<option value="HPLC">HPLC</option>
<option value="HPSS">HPSS</option>
</select>
</td>
</tr>
<tr>
<td>New Tester Name:</td>
<td>
<select id="tester_type">
<!--Update list of available testers-->
</select>
</td>
Примечание: Я только что заменил первый выпадающий список в качестве пищевой категории для лучшего понимания моего вопроса, кстати. Просто возьмите первый как категории продуктов, а второй будет его типом/ароматом.
EDIT:
Он ничего в соответствующем разделе/дел в окне не отображается. Просто пустой, за исключением заголовка, который я добавил в свой HTML и другие две кнопки.
То, что я сделал в соответствии с ответом Брэндона:
В HTML:
<html>
<head>
<title>Delete Tester</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script language="javascript" type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="function.js"></script>
<script type="text/javascript">displayDropDown();</script>
</head>
<body>
<h3>Delete Tester</h3>
<div id="drop_two_list"></div>
<table class="deleteTable">
<tr>
<td/><td><br>
<input type="button" value="Cancel" onclick="window.close();"/>
<input type="button" name="send" value="Delete" onclick="deleteTester();"/>
</td>
</tr>
</table>
</body>
</html>
В внешних файла JavaScript:
function dislplayDropDown()
{
var page = "database.php";
$.post(page, {
action : "dislplayDropDown"
}, function(data) {
$("div#drop_two_list").html(data);
alert(data);
});
В PHP:
function displayDropDown()
{
$tester_info = "dummy_tester_list";
$query_string = "select * from $tester_info";
$result = @mysql_query($query_string) or die (mysql_error());
$data = mysql_fetch_array($result) or die (mysql_error());
echo "<select id=\"tester_type\">";
while($data)
{
echo "<option value='$data['tester_type']'>$data['tester_type']</option>"; // first drop down
}
echo "</select>";
$selected_tester_type = $_REQUEST['tester_type'];
$query_string = "select * from $tester_info where tester_type = $selected_tester_type";
$result = @mysql_query($query_string) or die (mysql_error());
$data = mysql_fetch_array($result) or die (mysql_error());
echo "<select>";
while($data)
{
echo "option id=\"tester_name\" value='$data['tester_name']'>$data['tester_name']</option>"// second drop down
}
echo "</select>";
}
?>
<?php
$action = rtrim($_REQUEST['action']);
if($action=="insert")//This is for some other function
{
$tester_type = rtrim($_REQUEST['tester_type']);
$tester_name = rtrim($_REQUEST['tester_name']);
echo checkDuplicateTesterName($tester_type, $tester_name);
}
else if($action=="displayDropDown")
{
echo displayDropDown();
}
?>
структура таблицы в соответствии с просьбой Kentot, это только первые пять строк, потому что есть более чем 500 строк, так что я бы не хотел, чтобы положить все это здесь:
id tester_type tester_name
1 LMX LMX-01
2 LMX LMX-04
3 LMX LMX-05
4 LMX LMX-06
5 LMX LMX-07
вы можете разместить вашу MySQL структуру таблицы? – Kentot
Хорошо, только что написал. – hzq
Обратите внимание, что если имеется очень большой набор опций, может быть более эффективным захватить весь набор данных в одном запросе и обработать все остальное в коде приложения (либо php, либо JavaScript) - пока кнопка отправки не будет нажата в любом случае – Strawberry