php - 为循环选择的选项值

标签 php forms html-select

我正在尝试创建一个selected先前输出的值。 (用户填写表单,提交,返回表单)并且我希望所选值是用户之前使用的值。

vraagNummeranswer在 url 参数中给出,列表中可用项目的下拉菜单是在 for 循环中创建的。 现在我陷入了那个部分。如果选项选择值是在 for 循环中创建的,如何创建它?

通常我会输入option value = $vraagNummer selected> <?php echo $vraagNummer ?></option但在这种情况下这是行不通的。我想?

有人知道如何解决这个问题吗?
与 A/B/C/D 相同。如何输入answer的选定值更改为之前选择的值,同时仍保留其他值作为选项。

谨致问候,

if(!empty($_GET['vraagnummer'])){
            $vraagNummer = $_GET['vraagnummer'];
            if(!empty($_GET['answer'])){
                $answer = $_GET['answer'];
            }
        }
        echo $vraagNummer;
        echo $answer;
        ?>

        <form id="start" method="post" action="index.php?test=true">
            <select name="question">
                <?php 
                for($i= 1; $i < $nRows+1 ; $i++){
                    ?><option value="<?php echo $i ?>">Question <?php echo $i?></option>
                    <?php
                }
                ?>
            </select>
            <select name="result">
                <option value="A">Answer A</option>
                <option value="B">Answer B</option>
                <option value="C">Answer C</option>
                <option value="D">Answer D</option>

            <input type="submit" id="submit" value="Submit" />
        </form>

最佳答案

您只需使用三元 if 来测试循环中当前 $i 值的 $_GET['question']

<form id="start" method="post" action="index.php?test=true">
    <select name="question">
<?php 
    for($i= 1; $i < $nRows+1 ; $i++){
        $sel = (isset($_GET['question']) && $_GET['question'] == $i) ? 'selected="selected"' : '';
        echo '<option ' . $sel . ' value="' . $i .">Question ' . $i . '</option>';
    }
?>
    </select>

Warning:

Also be careful with the use of empty() when the variables can contain a zero as zero is considered as empty by the empty() function

实际上我会像这样做你的其他下拉列表

<select name="result">
foreach (range('A', 'D') as $char) {
    $sel = (isset($_GET['result']) && $char == $_GET['result']) ? 'selected="selected"' : '';
    echo "<option $sel value='$char'>Answer $char</option>";
}
</select>

关于php - 为循环选择的选项值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36711956/

相关文章:

php - 通过 htaccess 将 PNG 解析为 PHP 仅适用于本地服务器,但不适用于网络服务器

在 PHP 内部调用时,Javascript 函数没有响应。 (试图将项目添加到选项列表框)

html - 样式 HTML 选择和选项标签

javascript - 使用 jQuery 设置要检查的单选框

javascript - 表单提交后在 Node.js 中发送响应的有效方法

javascript - 如何使用 select 标签使元素可见或不可见?

php - 根据 PHP url 变量显示特定模式

php - 如何让用户插入列表中的任意位置?

java - 如何在java中使用GET查询发送HashMap

javascript - 如何使用 getElementsByName 方法在 javascript 中提交表单?