我有一个带有以下内容的选择框(已缩短):
<select id="viewSelector" name="when" style="width:92%;">
<option value="USA">USA</option>
<option value="Australia">Australia</option>
<option value="Germany">Germany</option>
</select>
如果用户登录控制面板并想要更改他的国家/地区,则会收到此表单。我的问题是,每次美国都是默认设置,我无法根据用户所在国家/地区进行更改。例如,该用户居住在澳大利亚。他想将自己的国家改为美国并转到此页面。我希望展示的国家是澳大利亚。如果这是有道理的,请告诉我。
答案 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>";
}