簡體   English   中英

在中選擇值的標准方法<select>

[英]Standard way of selecting value in <select>

這是靜態下拉列表:

 <select style="width:100px" name="drink_type">
 <option value="Water">Water</option>
 <option value="Soda">Soda</option>
 <option value="Milk">Milk</option>
 </select>

我有一個dynacim飲料類型,以字符串形式保存在php變量$drink_type 在對象編輯中,我想根據$drink_type設置選定的下拉值。

找到最標准的方法將是最好的情況。

這是(帶有一些捷徑):

foreach(array('Water', 'Soda', 'Milk') as $value){
  echo "<option value=\"$value\" ";

  if($property_name == $value)
    echo "selected=\"true\"";

  echo ">$value</option>";
}

您可以檢查$drink_type並使用selected屬性。

<select style="width:100px" name="drink_type">
 <option value="Water" <?php if($drink_type == 'Water') echo 'selected'; ?>>Water</option>
 <option value="Soda" <?php if($drink_type == 'Soda') echo 'selected'; ?>>Soda</option>
 <option value="Milk" <?php if($drink_type == 'Milk') echo 'selected'; ?>>Milk</option>
 </select>

您需要檢查每個元素的選擇值是否等於$drink_type

<option value="Water" <?php if ($drink_type == 'Water') echo 'selected="selected"' ?>>Water</option>

如您所見,對於較長的選擇,有很多東西要寫,所以您應該將值存儲在數組中並遍歷它們。

<select name="drink_type">
<?php
$values = array('Water', 'Soda', 'Milk');
foreach ($values as $value) {
    $selected = ($value == $drink_type) ? ' selected="selected"' : '';
    echo '<option value="' . $value . '"' . $selected . '>' . $value . '</option>';
}  
?>
</select>  

試試吧。

    <select name="types">
    <?php
        $select_value="water";
        $drinks = array('Water', 'Soda', 'Milk');
        foreach ($drinks as $value) {
           $selected=$value==$select_value? " selected":"";
           echo '<option value="' . $value . '"  '.$selected.' >' . $value . '</option>';
        }  
    ?>
    </select>

或者,如果您有數據庫表,則可以使用以下代碼

- 開始 -

    function itemList($set=""){
        // write user query 
        $query = "SELECT id,name FROM table_name WHERE 1 ORDER BY `name`";
                $result = mysql_query($query);
$selected_id=5;
                if(mysql_num_rows($result)>0){
                    echo '<select name="types">';
                    while($data = mysql_fetch_array($query)){ 
                        $value = $data['id']; 
                        $selected = $value == $selected_id ? ' selected="selected"' : '';
                        echo '<option value="$value" '.$selected.'>' . $data['name'] . ' </option>';                
                    } // end while loop
                    echo '</select>';
                } // end if condition
    } // end function

- 結束 -

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM