SELECTED不使用<;选项>;标记在for循环/while循环内


SELECTED not working with <option> tag inside a for loop/ while loop

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

<?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。谢谢!!

将if条件放在报价之外

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

您的行不正确。使用这个替代:

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

我正在使用三元比较运算符。

的问题

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

SolutionL

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