在PHP中定义html表单的选定选项

时间:2012-01-11 13:15:45

标签: php html forms

我有一个带有select元素的简单html表单。要定义选择了哪个选项,我将selected添加为

<option value="10" <?php if($value == '10') {echo 'selected="selected"';}?>>10</option>
<option value="20" <?php if($value == '20') {echo 'selected="selected"';}?>>20</option>
<option value="50" <?php if($value == '50') {echo 'selected="selected"';}?>>50</option>

$value是一个来自PHP代码的变量。这种方法似乎非常简单和天真。这是最好的方法吗?

6 个答案:

答案 0 :(得分:3)

$options = array(10,20,50);
foreach($options as $option) {
    $selected = ($value == $option) ? ' selected="selected"' : '';
    echo '<option value="' . $option . '"' . $selected . '>' . $option . '</option>';
}

答案 1 :(得分:2)

这样做并不坏。但是为什么不使用编程方法创建整个事物(即,通过数组使用PHP循环生成代码):

$items = array(10, 20, 50);
for ($i = 0; $i < count($items); $i ++) {
    echo("<option value='" . $items[$i] . "'");
    if ($items[$i] === $value) {
        echo(" selected='selected'");
    }
    echo(">" . $items[$i] . "</option>");
}

答案 2 :(得分:1)

下面的内容应该有效:

<?
$values = array(10, 20, 30);

foreach ($values as $val) {
?>
<option value="<?=$val?>" <?=($value==$val ? "SELECTED" : "")?>><?=$val?></option>
<?
}
?>

答案 3 :(得分:0)

将值保存在数组中并循环遍历它以生成HTML。那你就不需要重复自己了。

答案 4 :(得分:0)

<?php foreach($list as $key => $value): ?>

    <option value=<?php echo $value ?> <?php echo $value == $selected? 'selected' : '' ?> ><?php echo $value ?></option>

<?php endforeach ?>

希望你明白这一点。

答案 5 :(得分:0)

就像我这样做:

      <?
    $values = array(10,20,30,......);
$value = XXX;

echo "<select name='somename'>";

foreach($values as $v)
{
if($v == $value)
{
echo "<option value='$v' 'selected'>$v </option>";

}
else
{
echo "<option value='$v'>$v </ option> ";
}


}
echo "</select>";

    ?>