Изменить выбранную опцию в select (форма) - PullRequest
0 голосов
/ 02 ноября 2011

У меня есть первоначальная группа параметров, подобных этим:

<select name="item[type]">
    <option value="0" class="dr">First</option>
    <option value="1" class="dr">Second</option>
    <option value="2" class="dr">Third</option>
    <option value="3" class="dr">Fourth</option>
</select>

Я хочу проверить, определена ли переменная isset($test). Если это так, то я хочу изменить выбранную опцию, где value равно $test. Как то так <OPTION SELECTED>

Например. $test = 3; Итак, выбранный вариант должен быть четвертым. Если $test пусто или не определено, то первым должен быть выбранный параметр.

Ответы [ 4 ]

2 голосов
/ 02 ноября 2011
<select name="item[type]" id="selectBoxId">
<option value="0" class="dr">First</option>
<option value="1" class="dr">Second</option>
<option value="2" class="dr">Third</option>
<option value="3" class="dr">Fourth</option>
</select>


<script type="text/javascript">
    var test = "<?= $test; ?>";
    if (test != '' && parseInt(test)) {
        document.getElementById('selectBoxId').selectedIndex = test;
    }
</script>
2 голосов
/ 02 ноября 2011

В одну сторону:

<select name="item[type]">
    <option <?=$test==0?'selected="selected"':'';?> value="0" class="dr">First</option>
    <option <?=$test==1?'selected="selected"':'';?> value="1" class="dr">Second</option>
    <option <?=$test==2?'selected="selected"':'';?> value="2" class="dr">Third</option>
    <option <?=$test==3?'selected="selected"':'';?> value="3" class="dr">Fourth</option>
</select>

Другой:

<? $selected[$test] = 'selected="selected"'; ?>

<select name="item[type]">
    <option <?=$selected[0];?> value="0" class="dr">First</option>
    <option <?=$selected[1];?> value="1" class="dr">Second</option>
    <option <?=$selected[2];?> value="2" class="dr">Third</option>
    <option <?=$selected[3];?> value="3" class="dr">Fourth</option>
</select>
1 голос
/ 02 ноября 2011
// assuming you are using a loop: in the loop where you create the options
  $selected_html = $test == $loop_var ? ' selected="selected" ' : '';
  echo "<option value=\"$loop_var\" class=\"dr\"$selected_html>$text</option>";
1 голос
/ 02 ноября 2011

Удалите «[тип]» из выбранного имени, упростите для «элемент».Затем выполните этот код.

$test = isset($_POST['item']) ? $_POST['item'] : "0";

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...