我有一个选择(下拉)框。在每个按钮上单击,我希望加载以前保存的位置。我的代码是:
<select name="myVariables" style="width:150px">
<?php
foreach ( $variables as $var ) {
echo "<option value=\"" . $var . "\"". $var . " </option>";}
?>
</select>
我有一个变量$ previousSelected,每次单击该按钮时,此变量都可以更改。我还想将选择框中当前选中的选项更改为相同的值。我试过了:
echo "<option value=\"" . $var . "\" <?=$previouslySelected==$var ? ' selected=\"selected\"' : '';?\>>". $var . " </option>";}
但这似乎不起作用。
此外,我已尝试过this,但它只是第一次有效。
答案 0 :(得分:0)
您如何提交表格。使用GET或POST?
使用GET,您必须以这种方式获取提交的值:
$previouslySelected = isset($_GET['myVariables']) ? $_GET['myVariables'] : '';
否则使用POST:
$previouslySelected = isset($_POST['myVariables']) ? $_POST['myVariables'] : '';
在PHP 7中,你也可以这样做:
$previouslySelected = $_POST['myVariables'] ?? '';
编辑:写你的回声更具可读性。
$selected = ($previouslySelected === $var) ? ' selected="selected"' : '';
echo '<option value="' . $var . '" ' . $selected . '>' . $var . '</option>';