我试图在foreach中回显我的数组中的值“selected”。如果表单是假的并且我的客户已经在我的选择中输入了特定值,则将其返回,这样他就不会再填充它!这就是我想要做的......
<?php
$marques = array('Word','Word1','Word20','Word46','Word9797');
foreach ($marques as $marque => $value)
{
if (isset($_POST['marque']) && $_POST['marque'] == $value[$_POST['marque']]) {
echo '<option value="'.$_POST["marque"].'">'.$value[$_POST["marque"]].'</option>';
}
echo '<option value="'.$marque.'">'.$value.'</option>';
}
?>
答案 0 :(得分:2)
<?php
$marques = array('Word', 'Word1', 'Word20', 'Word46', 'Word9797');
foreach ($marques as $marque)
echo '<option value="'.$marque.'" '.(($marque == $_POST['marque']) ? 'selected' : '').'>'.$marque.'</option>';
?>
答案 1 :(得分:1)
你是说这个?
<?php
$marques = array('Word','Word1','Word20','Word46','Word9797');
foreach ($marques as $marque => $value) {
$setItSelected = '';
if (isset($_POST['marque']) && $_POST['marque'] == $marque) {
$setItSelected = 'selected';
}
echo '<option value="'.$marque.'" '.$setItSelected.'>'.$value.'</option>';
}
?>
答案 2 :(得分:0)
更改value属性中的内容不会使项目或多或少被选中。您需要添加所选属性,请参阅http://www.w3schools.com/tags/att_option_selected.asp
输出:ed html应该类似于:
<option value="id" selected>some text</option>
答案 3 :(得分:0)
<?php
$marques = array('Word','Word1','Word20','Word46','Word9797');
foreach ($marques as $marque)
{
if (isset($_POST['marque']) && $_POST['marque'] == $marque')
echo '<option value="'.$marque.'" selected>'.$marque.'</option>';
else
echo '<option value="'.$marque.'">'.$marque.'</option>';
}
?>
您的数组是一个维度,您不能使用“=&gt;” 对于select选项,您还必须在选项标记
中添加“selected”属性