在Drop Down php中保留所选项目

时间:2015-08-31 10:47:32

标签: javascript php jquery html css

我希望在下拉的onchange事件上提交表格时保留选定的下拉值。

这是我的代码

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> "?>

2 个答案:

答案 0 :(得分:1)

您可能意味着,如果您提交表单但输入中存在错误,您希望保留所选选项。

然后,试试这个:

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']

答案 1 :(得分:0)

首先,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>