我希望在提交表单后保留用户下拉选项,但是,因为我添加了代码来执行此操作,所以它在我的下拉列表中创建了空选项(甚至在提交任何内容之前)。发生了什么,我该如何纠正它?非常感谢任何帮助。
$sals = array('Mr','Mrs','Miss','Dr');
<label>Salutation: </label>
<select name='mysal'>
<?php
foreach ($sals as $sal) {
echo "<option value='$sal'";
if($sal == @$sal_conf) echo 'SELECTED';
echo ">".$sal."<option />";
}
?>
如果按下提交按钮(此处省略):
if (isset($_POST['submit']))
{
$sal_conf = $_POST['mysal'];
}
打开下拉列表看起来像这样
先生
杜
小姐
博士
每个选项后都有一个空的选择。
答案 0 :(得分:1)
试一试。
<?php
foreach ($sals as $sal) {
$selected = ($sal == $sal_conf) ? ' SELECTED' : '';
echo '<option value="'.$sal.'"'.$selected.'>'.$sal.'</option>';
}
?>
答案 1 :(得分:0)
您尚未关闭
<option></option>
当我使用内联变量而不是在使用双引号时关闭字符串时,我发现使用花括号{}更清晰。
foreach($sals as $sal){
echo "<option value={$sal}";
if($sal == @$sal_conf) {echo "SELECTED "; }
echo " >{$sal}<option />";
}