2013-03-30 6 views
-1

Что было бы лучшим способом установить выбранное значение тега?Set <select> тег выбранное значение в PHP

<select id="attr_field_10" name="config_eph_payment_type"> 
<option value="5">First</option> 
<option value="1">Second</option> 
<option value="2">Third</option> 
<option value="3">Fourth</option> 
<option value="4">Fifth</option> 
<option value="7">Sixth</option> 
</select> 

Значение происходит от $config_eph_payment_type переменных (5, 1, 2, 3, 4 или 7).

+0

Покажите нам PHP, который генерирует тег. – Daedalus

+0

@Deadalus, тег является статическим html. Может быть, было бы лучше сделать это с помощью Javascript? – Adrian

+0

Если вы не хотите возиться с ajax .. это не так. – Daedalus

ответ

4

Что-то, как это должно работать:

$options = array(
    5 => "First", 
    1 => "Second", 
    ... 
    7 => "Sixth" 
); 


echo "<select id=\"attr_field_10\" name=\"config_eph_payment_type\">"; 

foreach ($options as $k => $v) { 

    echo "<option value=\"$k\""; 

    if ($k == $config_eph_payment_type) 
     echo " selected"; 

    echo ">$v</option>"; 
} 
echo "</select>"; 

То, что мы в основном делаем это, чтобы сохранить параметры в виде ассоциативного массива. Затем мы прокручиваем его и продолжаем проверять, равна ли значение переменной $config_eph_payment_type.

+1

Спасибо большое, именно то, что мне нужно. Полезно. – Adrian

0
<option value="5"<?php if ($config_eph_payment_type == 5) print ' selected="selected"'; ?>>First</option> 

Это самый простой способ сделать это. Кроме того, можно поставить, если в начале файла, а затем определить переменную, это сделает HTML код более читаемым

<?php 
//at beginning 
if ($config_eph_payment_type==5) 
    $fiveSelected = ' selected="selected"'; 
else 
    $fiveSelected = ''; 
?> 

в коде Первый

Смежные вопросы