HTML定义了哪个选项是活动的

11

我有一个选择框,内容如下(已缩短):

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

如果用户登录控制面板并想要更改自己的国家,他会看到这个表单。我的问题是每次默认都是美国,我无法根据用户的国家进行更改。例如,用户住在澳大利亚。他想将国家更改为美国并转到此页面。我希望显示的国家是澳大利亚。如果这样说有意义,请告诉我。


4
@PhpMyCoder - 它很方便用来尝试一些东西,更重要的是在发帖时不会让问题太长。我同意你永远不应该在生产环境中使用它。 - Ed Heal
@Farray - 请不要使用w3schools作为参考。请查看http://w3fools.com。 - Oded
@Oded 抱歉,这不是一份全面的答案 - 它只是谷歌搜索结果中的第一个,并碰巧有问题的答案。我个人不喜欢“LMGTFY”评论,但不确定如何表达这一点。 - Farray
@Farray - 你可以说这个问题没有展示出任何研究努力(或者根本没有努力),而且第一个谷歌搜索结果已经有了一个非常好的答案。 - Oded
@Oded 很好的观点。我的社交技能今天早上有些生疏了... - Farray
我想知道为什么我的帖子被踩了-1? - JustinPGriffen
6个回答

15

要预先选择一个值,只需将selected属性添加到所需选项中。

<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>

例如,这将预选澳大利亚。


5

在命名用户当前国家的<option>标签上使用selected:

<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>

4

您需要按照规范中描述的方式,将selected属性添加到您想要选择的选项中。

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

在你的脚本中,你需要发出此属性以显示你想要展示的任何默认值。

4
使用option标签的selected属性。
<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>

1

HTML 的代码如下:

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

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

0

稍微简短一点:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接