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

Pytanie:jak ustawić wartość domyślną wybierz pole w php

jak zrobić „audi” jako wartości domyślnej zamiast „volvo”? Wiem, że możemy ustawić "zaznaczone" w html, ale jak mogę to zrobić w tym skrypcie php?

+0

dlaczego po prostu nie umieściłeś 'Audi' na początku tablicy zamiast' Volvo'? –

Odpowiedz

6

Można wykryć, jeśli wartość domyślna jest jedna chcesz i wstawić kod HTML już określone: ​​

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

zwykle utworzyć funkcję pomocniczą dla outputing wybiera

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

następnie zadzwonić tylko

echo showSelect("sss", $options, "audi", array("id"=>"manufacturer")); 
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> 
Powiązane problemy