在下拉菜单中保持选中的项目

Hold selected item in Drop Down php

本文关键字:项目 下拉菜单      更新时间:2023-09-26

我想在提交表单时保留下拉列表的选定值。

这是我的代码

echo "<form method='"post'">
<select name='"Color'" OnChange='"this.form.submit();'"> ";
    while($rec=mysql_fetch_array($query))
    {
       $value = $rec['name'];
       echo "<option value='"$value'">$value</option>";
       if($row['name'] == $_SESSION['name'])
         echo " selected";
    }
echo "</select> "?>

您的意思可能是,如果您提交了表单,但输入错误,您希望保留选中的选项。

然后,试试这个:

echo "<form method='"post'">
<select name='"Color'" OnChange='"this.form.submit();'"> ";
while($rec=mysql_fetch_array($query)) {
    $value = $rec['name'];
    $selected = ( $value == $_SESSION['name'] ) ? ' selected' : '';
    echo "<option value='"$value'"$selected>$value</option>";
    echo "</select> "?>

我认为$_SESSION['name']应该是$_POST['name']

首先,if($row['name'] == $_SESSION['name'])//代替$row使用$rec,因为你在mysql_fetch_array.

<form method="post">
    <select name="Color" OnChange="this.form.submit();">
    <?
    while($rec=mysql_fetch_array($query))
       {
            $value = $rec['name'];
       ?>
        <option value="<?echo $value;?>" <?if($rec['name']==$_SESSION['name']){echo "selected;"}?>>$value</option>
       <?}?>
    </select>
</form>