我使用ajax在点击“卡片”时调用文件以显示对话框。它与PHP的普通html工作正常,但现在我已将其保存为php变量,它不喜欢if语句,并且下拉总是显示默认的'choose'选项。可以这样做吗?或者也许我只是写错了?
$html.="<select name='priority'>";
$html.="<option>---Choose---</option>";
$html.="<option if ($priority == 'Low') echo 'selected' value='Low'>Low</option>";
$html.="<option if ($priority == 'Normal') echo 'selected' value='Normal'>Normal</option>";
$html.="<option if ($priority == 'High') echo 'selected' value='High'>High</option>";
$html.="<option if ($priority == 'Critical') echo 'selected' value='Critical'>Critical</option>";
$html.="</select>";
答案 0 :(得分:5)
应该这样做:
$html .= "<option " .
(($priority == 'Low') ? 'selected' : '') .
" value='Low'>Low</option>";
不使用三元运算符:
$html .= "<option ";
if ($priority == 'Low') {
$html .= 'selected';
}
$html .= " value='Low'>Low</option>";
答案 1 :(得分:1)
你可能忘记了差异。双引号中的所有内容都是一个字符串。试试三元:
$priority = "Normal";
$html = "";
//Use from here
$html .= "<select name='priority'>";
$html.="<option>---Choose---</option>";
$html.="<option ";
$html.= (($priority == 'Low') ? 'selected' : '');
$html.=" value='Low'>Low</option>";
$html.="<option ";
$html.=(($priority == 'Normal') ? 'selected' : '');
$html.=" value='Normal'>Normal</option>";
$html.="<option ";
$html.=(($priority == 'High') ? 'selected' : '');
$html.=" value='High'>High</option>";
$html.="<option ";
$html.=(($priority == 'Critical') ? 'selected' : '');
$html.=" value='Critical'>Critical</option>";
$html.="</select>";
echo $html;
exit;
测试!