如何仅使用 PHP 从父下拉菜单中填充静态页面上的子下拉菜单选择。例如,在选择您居住的州后,让 child 下拉菜单填充县,或者在我的例子中,在制造商之后填充系列。
编辑:有没有不用js的方法?
<?php
$man = mysqli_query($con,"SELECT DISTINCT manufacturer FROM inventory.manufacturer WHERE manufacturer!=\"\" ORDER BY manufacturer;");
echo "<select name=\"manufacturerS\">
<option value=\"\">Select</option>";
while($row = mysqli_fetch_array($man)) {
echo "<option value=\"".$row['manufacturer']."\">".$row['manufacturer']."</option>";
}
echo "</td>
<td>";
if(isset($_POST['manufacturerS'])){
$ser = mysqli_query($con,"SELECT DISTINCT series, manufacturer FROM inventory.audit WHERE series!=\"\" AND manufacturer='".$_POST['manufacturerS']."' ORDER BY series;");
echo "<select name=\"seriesS\">
<option value=\"\">Select</option>";
while($row = mysqli_fetch_array($ser)) {
echo "<option value=\"".$row['series']."\">".$row['series']."</option>";
}
echo "</td>
<td>";
}
最佳答案
您需要客户端来确定何时选择制造商选择,然后您可以使用纯 javascript
:
<form id="manufacturerF" method="POST">
<select name="manufacturerS" onchange="document.getElementById('manufacturerF').submit();">
<?php
$man = mysqli_query($con, "SELECT DISTINCT manufacturer
FROM inventory.manufacturer
WHERE manufacturer!=\"\"
ORDER BY manufacturer;");
while ($row = mysqli_fetch_array($man)) {
echo '<option value="'.$row['manufacturer'].'>'.$row['manufacturer'].'</option>';
}
?>
</select>
</form>
<?php
if(isset($_POST['manufacturerS']) && !empty($_POST['manufacturerS'])){
echo '<select name="seriesS">';
$ser = mysqli_query($con,"SELECT DISTINCT series, manufacturer
FROM inventory.audit
WHERE series!=\"\"
AND manufacturer='".$_POST['manufacturerS']."'
ORDER BY series;");
while ($row = mysqli_fetch_array($ser)) {
echo '<option value="'.$row['series'].'">'.$row['series'].'</option>';
}
echo '</select>';
}
?>
我建议您使用JQuery
所以不需要<form>
并重新加载您的页面。
正确的想法是使用 JQUERY
检测何时选择 select1,然后使用 AJAX
填充 select2
关于php - 如何从父选择 PHP 填充子下拉菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867452/