php下拉列表项目保持选中状态

时间:2012-12-10 03:10:32

标签: php html-select

我的php代码中有一个下拉列表。我试图在使用提交按钮提交页面后让值保持选中(表单操作调用另一个PHP脚本,但下面的代码块与表单在同一个PHP脚本中)。我试过这个,但它没有做我需要的。任何建议都会有帮助。

//getting value from database
$dropDownVal=$row['player'];
////
echo "<td bgcolor=#7FFF00><select name='DropDown".$row['_id']."' >;
<option value=\"1\"  if ($dropDownVal==1) selected=\"selected\">Select </option>;
<option value=\"2\"  if ($dropDownVal==2) selected=\"selected\">Johnson</option>;
<option value=\"3\"if ($dropDownVal==3) selected=\"selected\">Reed</option>;
<option value=\"4\"if ($dropDownVal==4) selected=\"selected\">Suggs</option>;
<option value=\"5\"if ($dropDownVal==5) selected=\"selected\">Flacco</option>;
<option value=\"6\"if ($dropDownVal==6) selected=\"selected\">Rice</option>;
</select>";

2 个答案:

答案 0 :(得分:3)

克里斯基本上是正确的。

如果您使用POST变量的形式提交此内容。

然后,如果您修改了设置$dropDownVal以使用$_POST变量的逻辑,那么您应该得到您想要的内容:

如果您是通过GET提交表单,只需将$_POST的所有引用更改为$_GET

在单个页面中提供完整的代码供参考:

<html>
<head></head>
<?php
if (!empty($_GET['Dropdown'])) {
    $dropDownVal = $_GET['Dropdown'];
} else {
    $dropDownVal = 1;
}
?>
<form method="get" action="testing.php">
    <select name="Dropdown" >;
        <option value="1" <?php if ($dropDownVal==1) echo 'selected="selected"'; ?>>Select </option>;
        <option value="2" <?php if ($dropDownVal==2) echo 'selected="selected"'; ?>>Johnson</option>;
        <option value="3" <?php if ($dropDownVal==3) echo 'selected="selected"'; ?>>Reed</option>;
        <option value="4" <?php if ($dropDownVal==4) echo 'selected="selected"'; ?>>Suggs</option>;
        <option value="5" <?php if ($dropDownVal==5) echo 'selected="selected"'; ?>>Flacco</option>;
        <option value="6" <?php if ($dropDownVal==6) echo 'selected="selected"'; ?>>Rice</option>;
    </select>
    <input type="submit" name="submit" value="Submit Form" />
</form>
</html>

答案 1 :(得分:0)

这是一个自我提交的脚本,即相同的代码呈现表单以填写并处理提交吗?在提交方面,您必须阅读相应的GET或POST参数,因为变量不会在提交之前挂起它们的值。相反,提交方是从第一行重新执行的脚本,没有分配任何变量。