为循环选择的选项值
Option value selected for loop
我正在尝试为之前的输出创建一个 selected
值。
(用户填写表单,提交,returns到表单)我希望选择的值是用户之前使用的值。
vraagNummer
和 answer
在 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>
我正在尝试为之前的输出创建一个 selected
值。
(用户填写表单,提交,returns到表单)我希望选择的值是用户之前使用的值。
vraagNummer
和 answer
在 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 theempty()
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>