Как создать форму с 2 выпадающим списком в PHP, который является вторым "выпадающим списком", основанным на результатах первого "выпадающего списка"? Прошу прощения, если этот вопрос задан, но я не мог найти аналогичный вопрос. Заранее спасибо.
Сори, я новичок. Вот мой код:
<script>
function reloadPage()
{
location.reload();
}
</script>
<form name="form1" action="updateitemstock.php" method="post">
<table border="0" width="50%">
<tr>
<td width="18%"><b><font face="Verdana" size="2" color="#FFFFFF">Select
Vendor</font></b></td>
<td width="18%"><select size="1" id=name="dvendor">
<option selected>Choose Vendor Name</option>
<?php
while ($row = mysql_fetch_array($vendor_list)) {
?>
<option value="<?php echo $row[0]; ?>" onclick="reloadPage()"><?php echo $row[0]; ?></option>
<?php
}
?>
</select></td>
</tr>
<tr>
<td width="18%"><b><font face="Verdana" size="2" color="#FFFFFF">Select
Item</font></b></td>
<td width="18%"><select size="1" name="ditem">
<option selected>Choose Item Name</option>
<?php
if (isset($_POST['dvendor']) {
$item_list = mysql_query("SELECT DISTINCT itemdesc FROM item WHERE dealer=$_POST['dvendor']");
}
while ($row = mysql_fetch_array($item_list)) {
?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php
}
?>
</select></td>
</tr>
<tr>
<td width="18%" colspan="2">
<div align="center">
<table border="0">
<tr>
<td>
<input type="submit" value="Save" name="bsave"></td>
<td>
<input type="submit" value="Upload" name="bupload"></td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</form>
Эти два списка могут быть, кроме того, созданы на PHP
, однако их данные должны опираться на язык на стороне клиента, например. JS
или jQuery
. Например, вы хотите создать два списка, например, один для списка states
и других для cities
в состоянии, выбранном из предыдущего списка. В этом случае вы сначала заполните список для states
с использованием PHP и в списке для состояний, вы создадите пустой шаблон (без элемента " option
" в списке). Теперь, в конце пользователя, когда пользователь выбирает состояние, вы можете отправить запрос AJAX
на свой сервер и получить список городов для этого выбранного состояния. Когда запрос завершен, вы можете заполнить список городов данными, возвращаемыми вашим сервером. Кроме того, вы можете создать единый список для состояния и столько же списков для городов, сколько и состояний. Каждый из этих списков будет содержать города для одного штата соответственно. Теперь на стороне клиента вы можете привязать событие " change
" к списку состояний, в котором пользователю будет отображаться только один список городов одновременно в соответствии с выбранным им состоянием. Кроме того, этот подход не предлагается, этот подход обесценивает потребность в любых запросах AJAX, но тогда вам нужно создать весь список один раз на бэкэнд. Надеюсь, это поможет :)
Дайте эту каскадную развертку javascript для удаления: http://jquery-plugins.net/jquery-cascading-dropdown-plugin
Плагин jQuery будет полезен. Для динамического выбора используйте удаленную версию.
Цепный выбор плагина для jQuery
Надеюсь это поможет :)