<?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";
?>
问题:
如何让"奥迪"作为默认值而不是"沃尔沃"?我知道我们可以在html中设置'selected',但我怎么能在这个php脚本中做到呢?
您可以检测默认值是否为您想要的值,并插入您已经识别的HTML:
$defaultVal = 'Audi';
foreach ($options as $k=>$v) {
$selected = ($v == $defaultVal) ? " selected='selected'" : "";
echo "<option value='$v'$selected>$k</option>'n";
}
我通常创建一个辅助函数来输出选择
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"));
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>