[英]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.