2013-11-15 224 views
0

我正在創建一個編輯賬戶信息form.php 在這裏我有一個國籍輸入,用戶可以在其中更改國籍。自動默認選項下拉菜單

問題- 可以說我來自阿富汗。當我點擊「編輯」按鈕時,如何使它成爲默認選項? 使用IF語句($ nationality == _ _)?任何想法?

$ nationality = $ row [「nationality」];

<select name="nationality"> 
    <option value="Afghanistan">Afghanistan (‫افغانستان‬‎)</option> 
    <option value="Åland Islands">Åland Islands (Åland)</option> 
    <option value="Albania">Albania (Shqipëria)</option> 
    <option value="Algeria">Algeria (‫الجزائر‬‎)</option> 
    <option value="American Samoa">American Samoa</option> 
    <option value="Andorra">Andorra</option> 
    <option value="Angola">Angola</option> 
    </select> 

回答

2

要自動選擇一個選項,你給它的「selected」屬性。

如果存在,則此布爾型屬性指示最初選擇的選項爲 。如果該元素是 的後代,則該元素的多個屬性未設置,則此元素的只有一個單獨的元素可能具有所選屬性。

所以,在每一個選項,你可以做同樣的事情到

<option value="Afghanistan" <?php echo ($nationality === 'Afghanistan' ? 'selected' : '')?>>Afghanistan (‫افغانستان‬‎)</option> 

這將是最簡單的,如果你有個國家組成的數組,而不是用手工打印每一個出來做。

$countries['Afghanistan'] = 'Afghanistan (‫افغانستان‬‎)'; 
$countries['Åland Islands'] = 'Åland Islands (Åland)'; 
$countries['Albania'] = 'Albania (Shqipëria)'; 
$countries['Algeria'] = 'Algeria (‫الجزائر‬‎)'; 
$countries['American Samoa'] = 'American Samoa'; 
$countries['Andorra'] = 'Andorra'; 
$countries['Angola'] = 'Angola'; 

foreach ($countries as $name=>$full_name) { 
    $selected = ($nationality === $name) ? 'selected' : ''; 
    print '<option value="'.$name.'" '.$selected.'>'.$full_name.'</option>'; 
} 
0

如果服務器知道相應的默認選項時,它輸出的頁面,那麼你可以有條件的selected屬性添加到您發出HTML:

<option value="Afghanistan" selected="selected">Afghanistan (‫افغانستان‬‎)</option>