PHP变量选择选项

时间:2014-04-26 23:11:27

标签: php forms

我有一个php变量$valuable='bottomValue'

并在表单中选择一个下拉列表,在提交时返回到同一页面

<form action='' method='post'>
<select>
<option value='topValue'>One</option>
<option value='midValue'>Two</option>
<option value='bottomValue'>Three</option>
</select>
<input name='theSubmit' type='submit' />
</form>

根据$valuable的值,如何更改所选选项以匹配。

例如在页面加载时因为变量的默认值=&#39; bottomValue&#39;选项三将被选中

4 个答案:

答案 0 :(得分:0)

你需要做这样的事情:

<form action='' method='post'>
<select>
<option value='topValue'>One</option>
<option value='midValue'>Two</option>
<option value='bottomValue' 
      <?php echo $valuable == 'bottomValue' ? 'selected' : '' ?>
      >Three</option>
</select>
<input name='theSubmit' type='submit' />
</form>

答案 1 :(得分:0)

首先制作数组的数组,然后执行此操作

$values = array (
1 => 'topValue',
2 => 'middleValue',
3=> 'bottomValue',
);

然后

 <form action='' method='post'>
           <select>                                                         


    foreach( $values as $name => $v)
    {
      if( $name == $valuable )
           {
    echo '<option'.' value="'.$v.'"'.' selected="selected"'.'>'.$v.'</option>';
            }
    else
        {
    echo '<option'.' value="'.$v.'"'.'>'.$v.'</option>';
            }
         }

  </select>

最好的方法abt这个方法你需要内联php代码的eacchhh选项:)

答案 2 :(得分:0)

如果您不想使用其他技术,例如javascript,则必须检查每个选项的值,如下所示:

<option value='bottomValue' <?php echo ($valuable == 'bottomValue')?'selected':''; ?>>Three</option>

答案 3 :(得分:0)

$valueable = 'bottomValue';

// array of the options you want to display in your select dropdown
$options = array(
    'topValue' => 'One',
    'midValue' => 'Two',
    'bottomValue' => 'Three'
);

$html = '<form action='' method='post'>';
$html .= '<select>';
foreach($options as $value => $display){
    if($value == $valuable){
        $html .= '<option value="'.$value.'" selected>'.$display.'</option>';
    }else{
        $html .= '<option value="'.$value.'">'.$display.'</option>';
    }
}

$html .= '</select>';
$html .= '<input name="theSubmit" type="submit" />';
$html .= '</form>';

echo $html;