PHP - PRE-select下拉选项

时间:2010-06-13 00:27:01

标签: php

使用以下网址中的示例:http://www.kavoir.com/2009/02/php-drop-down-list.html

如何让该下拉菜单预先选择其中一个选项,例如“Apple”?

编辑:添加信息

function showForm()

{
global $sProduct, $name, $product, $header_file, $footer_file, $form_width, $form_background, $form_border_color, $form_border_width, $form_border_style, $cell_padding, $left_col_width, $font_size;   
include $header_file; 
echo <<<EOD

<form method="post" class="cForm">
<table style="width:{$form_width}; padding:20px 7px 0px 7px; font-size:{$font_size}; background-color:{$form_background};" class="contactForm">
<tr>
<td style="width:{$left_col_width}; text-align:left; vertical-align:center; padding:{$cell_padding}; font-weight:bold; {$name[3]}">{$name[0]}</td>
<td style="text-align:left; vertical-align:top; padding:{$cell_padding};"><input type="text" name="{$name[1]}" value="{$name[2]}" size="25"/></td>
</tr>
<tr>
<td style="width:{$left_col_width}; text-align:left; vertical-align:center; padding:{$cell_padding}; font-weight:bold;">{$product[0]}</td>
<!--<td style="text-align:left; vertical-align:top; padding:{$cell_padding};"><select name="{$product[1]}">-->
<td style="text-align:left; vertical-align:top; padding:{$cell_padding};">
<select name="{$product[1]}">
    <option value="1"></option>
    <option value="2">item 2</option>
    <option value="3">item 3</option>
    <option value="4">item 4</option>
    <option value="5">item 5</option>
    <option value="6">item 6</option>
</select>
</td>
</tr>
<td style="width:{$left_col_width}; text-align:left; vertical-align:center; padding:{$cell_padding}; font-weight:bold; {$code[3]}">{$code[0]}</td>
<td style="text-align:left; vertical-align:top; padding:{$cell_padding};"><input type="submit" name="submit" value="Submit" style="border:1px solid #999;background:#E4E4E4;" /></td>
</tr>
<tr>
<td colspan="2" style="font-size:10px; text-align:left; vertical-align:middle; padding:{$cell_padding};">
0:(var_product[0] = ({$product[0]})) <br/>
1:(var_product[1] = ({$product[1]})) <br/>
2:(var_product[2] = ({$product[2]}))<br/>
3:(var_product[3] = ({$product[3]}))<br/>
4:(var_sProduct = ({$sProduct}))<br/>
</td>
</tr>
</table>
</form>

EOD;

3 个答案:

答案 0 :(得分:7)

我会在generateSelect函数中抛出另一个参数来定义默认值。您可以使用该选项的idname执行此操作。对于以下内容,我将使用name使其更清晰。

function generateSelect($name = '', $options = array(), $default = '') {
    $html = '<select name="'.$name.'">';
    foreach ($options as $option => $value) {
        if ($option == $default) {
            $html .= '<option value='.$value.' selected="selected">'.$option.'</option>';
        } else {
            $html .= '<option value='.$value.'>'.$option.'</option>';
        }
    }

    $html .= '</select>';
    return $html;
}

/* And then call it like */
$html = generateSelect('company', $companies, 'Apple');

答案 1 :(得分:3)

当您回显选项时,请按如下方式回复:

<option value="apple" selected="selected">Apple</option>

或者您可以按如下方式使用js:

var dropDownList = document.getElementById('dropDownListId');
dropDownList.options[optionIndex].selected = true;

我稍微调整了这个功能但你可以使用它:

function generateSelect($name, $options, $optionToSelect) {
    $html = '<select name="'.$name.'">';
    foreach ($options as $option => $value) {
        if($value == $optionToSelect)
            $html .= '<option value="'.$value.'" selected="selected">'.$value.'</option>';
        else
            $html .= '<option value="'.$value.'">'.$value.'</option>';
    }
    $html .= '</select>';
    return $html;
}

答案 2 :(得分:0)

<?php
 $selected_fruit= 2;

 $opt_txt=function($opt_val){           
     $selected=($selected_fruit==$opt_val)?"selected=selected":"";
     $opt_txt= "value= \"".$opt_val."\" ".$selected;
     echo $opt_txt;
     }
?>

<select name="{$product[1]}">
  <option <?php $opt_txt(0) ?> ></option>
  <option <?php $opt_txt(2) ?> >apple</option>
  <option <?php $opt_txt(3) ?> >banana</option>
  <option <?php $opt_txt(4) ?> >pear</option>
  <option <?php $opt_txt(5) ?> >peach</option>
  <option <?php $opt_txt(6) ?> >apricot</option>
</select>