更改选择(表单)中的选定选项

时间:2011-11-01 22:52:33

标签: php html html-select

我有一组这样的选项:

<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 个答案:

答案 0 :(得分:2)

<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>

答案 1 :(得分:2)

一种方式:

<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>

答案 2 :(得分:1)

从选择名称中删除“[type]”,使“item”变得简单。 然后执行此代码。

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

答案 3 :(得分:1)

// 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>";