SELECTED在for循环/ while循环</option>中不使用<option>标记

时间:2011-07-01 05:33:48

标签: php

我希望默认选择下拉菜单中的一个选项,请参阅代码

<?php
class html{

    function output(){

        $html='<td>'.'<select id="out">';
        for($i=0;$i<21;$i++){
            $html.='<option value="$i" if($i==5) { selected } >'. $i .'</option>';
        }

        return $html;
    }
}

echo html::output();
?>

这里我希望默认选择值5,但我选择的值为20.谢谢!!

3 个答案:

答案 0 :(得分:2)

将if条件用于引号

for($i=0;$i<21;$i++)
{
   $selected=($i==5) ? 'selected' : '';
   $html.="<option value='$i'  $selected>". $i ."</option>";

}

答案 1 :(得分:1)

你的行不正确。请改用:

$html .= '<option value="' . $i . '"' . ( $i==5 ? ' selected="selected"' : '' ) . '>' . $i . '</option>';

我正在使用ternary comparison operator

答案 2 :(得分:1)

这是问题

$html.='<option value="$i" if($i==5) { selected } >'. $i .'</option>';

SolutionL

$html.="<option value=\"$i\" ".($i==5? "selected": ""). "$i </option>";