5
<?php
$options = array('volvo'=>'Volvo', 'saab' =>'Saab', 'audi' => 'Audi' );
echo "<select name='sss'>\n";
foreach ($options as $k=>$v) echo "<option value='$v' >$k</option>\n";
echo "</select>\n";
?>

问题:

如何将“audi”作为默认值而不是“volvo”?我知道我们可以在 html 中设置“选择”,但我怎么能在这个 php 脚本中做到这一点?

4

3 回答 3

6

您可以检测默认值是否是您想要的值并插入您已经识别的 HTML:

$defaultVal = 'Audi';
foreach ($options as $k=>$v) {
    $selected = ($v == $defaultVal) ? " selected='selected'" : "";
    echo "<option value='$v'$selected>$k</option>\n";
}
于 2013-05-22T03:43:50.990 回答
2

我通常创建一个辅助函数来输出选择

function showSelect($name, $options, $selected, $attr = array()){
    $str = "<select name='".$name.'"';
    foreach($attr as $name=>$val){
        $str.= " ".$name."='".$val."'";
    }
    $str.=">";
    foreach($options as $k=>$val){
        $str.= "<option value='".$val."'".($val==$selected?" selected='selected'":"").">".$k.'</option>';
    }
    $str.="</select>";
    return $str;
}

然后打电话

echo showSelect("sss", $options, "audi", array("id"=>"manufacturer"));
于 2013-05-22T04:03:22.640 回答
0
Try this:

$options = array('volvo'=>'Volvo', 'saab' =>'Saab', 'audi' => 'Audi' );
$select_value = 'audi';

<select id="test" name="test">
<?php foreach($option as $row) {?>
    <option value="<?php echo $row?>" <?php echo (strcmp($select_value,$row)==0) ?"selected='selected":'' ?>><?php echo $row?></option>
  <?php } ?>
</select>
于 2014-07-30T04:53:43.903 回答