0

我想在提交表单后保留用户下拉选择,但是,由于我添加了执行此操作的代码,它在我的下拉列表中创建了空选项(甚至在提交任何内容之前)。发生了什么,我该如何纠正?很感谢任何形式的帮助。

$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'];
}

打开下拉列表看起来像这样

先生

太太

错过

博士

每个选项后面都有一个空选项。

4

2 回答 2

1

试试看。

<?php
foreach ($sals as $sal) {
  $selected = ($sal == $sal_conf) ? ' SELECTED' : ''; 
  echo '<option value="'.$sal.'"'.$selected.'>'.$sal.'</option>';                     
}
?>
于 2013-04-28T17:59:22.760 回答
0

你还没有关闭你的

   <option></option>

当我有内联变量而不是在使用双引号时关闭字符串时,我发现使用花括号 {} 更干净。

    foreach($sals as $sal){
     echo "<option value={$sal}";
     if($sal == @$sal_conf) {echo  "SELECTED "; }
    echo " >{$sal}<option />";  
    }
于 2013-04-28T18:10:16.303 回答