[英]Select an option in a select box, given the option in word form in a PHP form
我的PHP表單中有一個標准的選擇框,其中包含英國各縣的列表,其示例如下所示:
<p class='form_title'>County<br>
<select id="county" name="county">
<optgroup label="England">
<option>Bedfordshire</option>
<option>Berkshire</option>
<option>Bristol</option>
....
<option>Wiltshire</option>
<option>Worcestershire</option>
</optgroup>
<optgroup label="Wales">
<option>Anglesey</option>
...
<option>Radnorshire</option>
</optgroup>
<optgroup label="Scotland">
<option>Aberdeenshire</option>
...
<option>Wigtownshire</option>
</optgroup>
<optgroup label="Northern Ireland">
<option>Antrim</option>
...
<option>Tyrone</option>
</optgroup>
</select>
</p>
一旦用戶提交了詳細信息,他們就可以編輯它們。
因此,我需要一種方法來選擇他們之前選擇的選項,因為我可以選擇以字形保存的選項,例如貝德福德郡 。
我知道我需要將選中的單詞添加到其中一個選項中,但我想知道是否有更好的方法來執行它而不是大量的case語句。
謝謝
嘗試這樣的事情:
foreach($places as $place) {
$selected = $prevSelectionId == $place['id'] ? " selected='selected' " : "";
echo "<option $selected value='".$place['id']."'>".$place['name']."</option>";
}
</select>
您應為每個選項設置選項值以跟蹤該值。
你也應該從數據庫中生成它,然后你可以根據$_GET
或$_POST
設置selected
:
例如:
foreach($county as $name){
$selected = '';
if($name == $_GET['name']){
$selected = ' selected="selected"';
}
echo '<option value="'.$name.'"'.$selected.'>'.$name.'</option>';
}
這不包括您的optgroup
但也應該來自數據庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.