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>

Если пользователь входит в панель управления и хочет изменить свою страну, ему будет представлена эта форма. Моя проблема в том, что каждый раз по умолчанию используется США, и я не могу изменить это в зависимости от страны пользователя. Например, пользователь живет в Австралии. Он хочет сменить свою страну на США и переходит на эту страницу. Я хочу, чтобы отображаемой страной была Австралия. Дайте мне знать, если это сделает чувство.

Author: NGLN, 2011-12-04

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>

Это приведет к предварительному выбору Австралии, например.

 12
Author: Björn Kaiser, 2011-12-03 20:29:50

Вам нужно добавить атрибут 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
Author: Oded, 2011-12-03 20:28:52

Используйте 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>
 4
Author: Bailey Parker, 2011-12-03 20:30:17

Используйте атрибут 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>
 2
Author: Tyilo, 2011-12-03 20:30:39

Html выглядит следующим образом:

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

В цикле php, который создает этот html, сравните текущее имя параметра с текущей страной пользователя (полученной из базы данных или где-либо еще). Когда эти два совпадут, добавьте selected

 1
Author: Francis Avila, 2011-12-03 20:30:33

Немного короче:

foreach($paises as $key=>$value)
{
    if($key == "PE"){$activo = ' selected="selected" '; }else{$activo = "";}    
    echo "<option $activo value=\"$key\">$value</option>";
}
 0
Author: Carlos Chaveztoro, 2016-07-17 23:44:51