如何在php中创建依赖的下拉列表

how do you make a dependent drop down list in php

本文关键字:依赖 下拉列表 创建 php      更新时间:2023-09-26

我是否有机会在php中获得依赖下拉列表-无需使用jquery或javascript-如果可用,请帮助我提供一些选项或建议

/group 1 /
<div class="form-group">
    <label for="return_ori">Return scenarios group A signals</label>
    <select name="return_ori" class="form-control" id="Site Orientation">
        <option value="East">none</option>
        <option value="GA">hello1 </option>
        <option value="GB">hello2 </option>
        <option value="GC">hello3 </option>
        <option value="GD">hello4 </option>
        <option value="GE">hello5 </option>
        <option value="GF">hello6 </option>
        <option value="GG">hello7 </option>
        <option value="GH">hello8 </option>
        <option value="GI">hello9 </option>
        <option value="GK">hello10 </option>
        <option value="Gl">hello11</option>
        <option value="GM">hello12</option>
        <option value="GN">hello13</option>
        <option value="GO">hello14</option>
    </select>
</div>

/ group 2 /
<div class="form-group">
    <label for="returnb_ori">Return scenarios group B signals</label>
    <select name="returnb_ori" class="form-control" id="Site Orientation">
        <option value="reb1">None </option>
        <option value="reb2">congrats1 </option>
        <option value="reb3">congrats2</option>
        <option value="reb4">congrats3</option>
        <option value="reb5">congrats4</option>
        <option value="reb6">congrats5</option>
        <option value="reb7">congrats6</option>
        <option value="reb8">congrats7 </option>
        <option value="reb9">congrats8</option>
        <option value="reb10">congrats9 </option>
        <option value="reb11">congrats10 </option>
        <option value="reb12">congrats11</option>
        <option value="reb13">congrats12</option>
        <option value="reb14">congrats13</option>
    </select>
</div>

是否有机会对第1组和第2组进行下拉,并对作为子类别的其他元素进行从属下拉-谢谢

如果你不想在可靠的下拉列表中使用js,那么你必须用一些查询字符串刷新页面。

您只需要提交表单,但需要使用一些逻辑来告诉表单如何根据以前选择的选项构建自己。下面是一个基本的例子。

function dropDown($title='cat')
    {
        ob_start();
        echo '<select name="'.$title.'">';
        for($i = 0; $i < 10; $i++) {
            $name = rand(100,999);
            echo '<option value="'.$title.$name.'">'.$title.$name.'</option>';
        }
        echo '</select>';
        $data = ob_get_contents();
        ob_end_clean();
        return $data;
    }
?>
<form method="post">
    <?php echo dropDown(); ?>
    <?php if(!empty($_POST) && empty($_POST['subcat'])) {
        echo dropDown('subcat');
    ?><input type="text" name="subcat" value="true" />
    <?php }
    ?>
    <input type="submit" value="<?php echo (!empty($_POST['cat']))? 'SAVE':'GET SUB'; ?>" />
</form>

页面加载:

<form method="post">
    <select name="cat">
        <option value="cat649">cat649</option>
        <option value="cat801">cat801</option>
        <option value="cat974">cat974</option>
        <option value="cat519">cat519</option>
        <option value="cat914">cat914</option>
        <option value="cat799">cat799</option>
        <option value="cat968">cat968</option>
        <option value="cat687">cat687</option>
        <option value="cat403">cat403</option>
        <option value="cat355">cat355</option>
    </select>
    <input type="submit" value="GET SUB" />
</form>

提交后:

<form method="post">
    <select name="cat">
        <option value="cat545">cat545</option>
        <option value="cat442">cat442</option>
        <option value="cat733">cat733</option>
        <option value="cat947">cat947</option>
        <option value="cat446">cat446</option>
        <option value="cat327">cat327</option>
        <option value="cat706">cat706</option>
        <option value="cat190">cat190</option>
        <option value="cat143">cat143</option>
        <option value="cat254">cat254</option>
    </select>
    <select name="subcat">
        <option value="subcat455">subcat455</option>
        <option value="subcat728">subcat728</option>
        <option value="subcat478">subcat478</option>
        <option value="subcat883">subcat883</option>
        <option value="subcat756">subcat756</option>
        <option value="subcat765">subcat765</option>
        <option value="subcat978">subcat978</option>
        <option value="subcat589">subcat589</option>
        <option value="subcat820">subcat820</option>
        <option value="subcat234">subcat234</option>
    </select>
    <input type="text" name="subcat" value="true" />
    <input type="submit" value="SAVE" />
</form>