自动默认选择选项下拉菜单

时间:2013-11-15 14:25:49

标签: php

我正在创建编辑帐户信息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 个答案:

答案 0 :(得分: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>';
}

答案 1 :(得分:0)

如果服务器在输出页面时知道相应的默认选项,那么您可以有条件地将selected属性添加到您发出的HTML中:

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