2013-05-22 14 views
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"; 
?> 

Soru:nasıl php seçme kutusu varsayılan değeri ayarlamak için

nasıl yerine 'volvo' varsayılan değer olarak 'audi' yapmak için? Html'de 'selected' ayarlayabileceğimizi biliyorum, ancak bu php betiğinde nasıl yapabilirim? çıkış olanağı aramaya ardından

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; 
} 

seçer için

$defaultVal = 'Audi'; 
foreach ($options as $k=>$v) { 
    $selected = ($v == $defaultVal) ? " selected='selected'" : ""; 
    echo "<option value='$v'$selected>$k</option>\n"; 
} 
+0

neden 'Audi' yerine 'Audi' yerine diziyi koymuyorsun? –

cevap

6

Sen zaten tanımlanmış HTML varsayılan değer istediğiniz biri olup olmadığını tespit etmek ve insert olabilir sadece

echo showSelect("sss", $options, "audi", array("id"=>"manufacturer")); 
2

Genellikle bir yardımcı işlevi oluşturun:

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> 
İlgili konular