你如何在PHP中创建一个依赖下拉列表

时间:2016-05-07 20:36:37

标签: javascript php jquery

有没有机会我可以在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组的下拉以及其他元素的依赖下拉作为子类别 - 谢谢

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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>