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

Domanda:come impostare selezionare il valore di default di dialogo in php

come fare 'audi' come valore di default al posto di 'volvo'? So che possiamo impostare 'selected' in html, ma come potrei farlo in questo script php?

+0

perché non metti 'Audi' all'inizio dell'array invece di' Volvo'? –

risposta

6

Si potrebbe rilevare se il valore di default è quello che si desidera e inserire il codice HTML che già identificato:

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

Io di solito creare una funzione di supporto per outputing seleziona

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

poi chiamare basta

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> 
Problemi correlati