HTML定义哪个选择选项处于活动状态

时间:2011-12-03 20:27:14

标签: php html drop-down-menu

我有一个带有以下内容的选择框(已缩短):

<select id="viewSelector" name="when" style="width:92%;">
    <option value="USA">USA</option>
    <option value="Australia">Australia</option>
    <option value="Germany">Germany</option>
</select>

如果用户登录控制面板并想要更改他的国家/地区,则会收到此表单。我的问题是,每次美国都是默认设置,我无法根据用户所在国家/地区进行更改。例如,该用户居住在澳大利亚。他想将自己的国家改为美国并转到此页面。我希望展示的国家是澳大利亚。如果这是有道理的,请告诉我。

6 个答案:

答案 0 :(得分:12)

要预选值,只需将所选属性添加到所需选项。

<select id="viewSelector" name="when" style="width:92%;">
    <option value="USA">USA</option>
    <option value="Australia" selected="selected">Australia</option>
    <option value="Germany">Germany</option>
</select>

这将预先选择澳大利亚。

答案 1 :(得分:4)

您需要为要选择的选项添加selected属性,如spec中所述。

<select id="viewSelector" name="when"">
    <option value="USA">USA</option>
    <option value="Australia" selected="selected">Australia</option>
    <option value="Germany">Germany</option>
</select>

在您的脚本中,您需要为要显示的默认值发出此属性。

答案 2 :(得分:4)

selected标记上使用<option>命名用户的当前国家/地区:

<option value="Australia" selected="selected">Australia</option>

所以在PHP中:

<select>
<?php
$countries = array('USA', 'Australia', 'Germany');
$current_country = 'Australia';

foreach($countries as $country) {
    if($country == $current_country) {
        echo '<option selected="selected">'.$country.'</option>';
    else {
        echo '<option>'.$country.'</option>';
    }
}
?>
</select>

答案 3 :(得分:2)

使用selected标记的option属性。

<select id="viewSelector" name="when" style="width:92%;">
    <option value="USA">USA</option>
    <option value="Australia">Australia</option>
    <option selected value="Germany">Germany</option>
</select>

答案 4 :(得分:1)

html看起来像:

<option selected value="Australia">Australia</option>

在构建此html的php循环中,将当前选项名称与用户的当前国家/地区进行比较(从数据库或任何地方检索)。当两者匹配时,添加selected

答案 5 :(得分:0)

稍短一些:

foreach($paises as $key=>$value)
{
    if($key == "PE"){$activo = ' selected="selected" '; }else{$activo = "";}    
    echo "<option $activo value=\"$key\">$value</option>";
}