我正在尝试创建上一个输出的selected
值。
(用户填写表单,提交,返回表单)我希望所选值为用户以前使用的值。
url参数中提供了vraagNummer
和answer
,并且在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>
答案 0 :(得分:3)
您只需使用三元组来测试循环中当前$_GET['question']
值的$i
<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>
警告:
当变量可以包含零时也要小心使用
empty()
,因为empty()
函数将零视为空
其实我会像你这样做你的其他下拉
<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>