我有一个带有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代码的变量。这种方法似乎非常简单和天真。这是最好的方法吗?
答案 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>";
?>