doushi7819 2017-10-04 18:02
浏览 120
已采纳

提交表单时保留PHP创建的下拉菜单值

I want the value of the dropdown menu to stay when form is submitted. However, this dropdown menu is created entirely by PHP rather than individual hand-typed values.

<?php
echo '<select name="month"><option>Month</option>';
for($i = 1; $i <= 12; $i++) {
$i = str_pad($i, 2, 0, STR_PAD_LEFT);
echo "<option value='$i'>$i</option>";
}
echo '</select>';

Is there a way to have the selected="selected" on the value the user selects?

I have a version for "years" too, and it has 100 values. So I'm looking for a way to do this without having to hand-type values.

  • 写回答

2条回答 默认 最新

  • dongyinju5977 2017-10-04 18:05
    关注

    When you're looping through, check if the submitted value equals the current value. If it does, select it:

    for($i = 1; $i <= 12; $i++) {
        $i = str_pad($i, 2, 0, STR_PAD_LEFT);
        if ($i == $_POST["month"]) {
            echo "<option value='$i' selected>$i</option>";
        } else {
            echo "<option value='$i'>$i</option>";
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?