繁体   English   中英

PHP - PRE-select下拉选项

[英]PHP - PRE-select drop down option

使用以下URL中的示例: 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;

我会在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');

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

<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;
}
<?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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM