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

Câu hỏi:làm thế nào để thiết lập chọn giá trị mặc định hộp trong php

làm thế nào để làm cho 'audi' như giá trị mặc định thay vì 'volvo'? Tôi biết chúng tôi có thể thiết lập 'được lựa chọn' trong html, nhưng làm thế nào tôi có thể làm điều đó trong kịch bản php này?

+0

tại sao bạn không đặt 'Audi' vào đầu mảng thay vì 'Volvo'? –

Trả lời

6

Bạn có thể phát hiện nếu giá trị mặc định là một trong những bạn muốn và chèn mã HTML bạn đã xác định:

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

Tôi thường tạo một hàm helper cho outputing chọ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; 
} 

sau đó gọi chỉ

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> 
Các vấn đề liên quan