HTML определяет, какой параметр выбора активен
У меня есть поле выбора со следующим (оно было сокращено):
<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 answers
Чтобы предварительно выбрать значение, просто добавьте выбранный атрибут к нужному параметру.
<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>
Это приведет к предварительному выбору Австралии, например.
Вам нужно добавить атрибут selected
к опции, которую вы хотите выбрать, как описано в спецификации .
<select id="viewSelector" name="when"">
<option value="USA">USA</option>
<option value="Australia" selected="selected">Australia</option>
<option value="Germany">Germany</option>
</select>
В вашем скрипте вам нужно указать этот атрибут для любого значения по умолчанию, которое вы хотите отобразить.
Используйте 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>
Используйте атрибут 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>
Html выглядит следующим образом:
<option selected value="Australia">Australia</option>
В цикле php, который создает этот html, сравните текущее имя параметра с текущей страной пользователя (полученной из базы данных или где-либо еще). Когда эти два совпадут, добавьте selected
Немного короче:
foreach($paises as $key=>$value)
{
if($key == "PE"){$activo = ' selected="selected" '; }else{$activo = "";}
echo "<option $activo value=\"$key\">$value</option>";
}