我正在尝试,一旦在 a 中选择了一个选项select
,则在提交表单时该选项保持选中状态。我试图在这个简单的例子中实现它:
<?php
$valores=array(1=>"opcion 1", "opcion 2", "opcion 3");
?>
<form action="" method="POST">
<select name="Select">
<option value='0'>Seleccionar opcion</option>
<?php
foreach($valores as $key=>$value)
{
if($_POST["Select"]==$key)
{
echo "<option value='".$key."' selected>".$value."</option>";
}else{
echo "<option value='".$key."'>".$value."</option>";
}
}
?>
</select>
<input type="submit" value="enviar">
</form>
前面的例子工作正常,当试图在我的代码上实现它时,我无法让它正常工作,这就是我写的:
echo "<form action='' method='POST'>
<select name='selec'>
<option value='0'>Selecciona opcion</option>";
// Lista los directorios
$directorio = opendir("adminUser/"); // Ruta Directorios
while ($ad = readdir($directorio)) {
if(is_dir($ad)) {
} else {
$valores = array(1=>"" . $ad . "");
foreach($valores as $key=>$value) {
// Si coincide lo enviado con el valor
if($_POST["selec"] == $key) {
echo "<option value='".$key."' selected>".$value."</option>";
} else {
echo "<option value='".$key."'>".$value."</option>";
}
}
}
}
echo "</select>
<input type='submit' value='enviar'>
</form>";
问题是它option
select
正确地执行了它的功能,它显示了目录的名称,但是在提交表单时它无法保持选择的选项。是因为我被阻止了,我看不到我失败的地方吗?
作为个人提示,请避免在 PHP 中使用 HTML。然后,回答您的查询,错误是所有文件夹都具有相同的 ID
$valores = array(1=>"" . $ad . "");
。有必要添加一个随时间增加的计数器变量。这是修改后的代码: