2013-11-15 180 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>