0

「カード」をクリックしてファイルを呼び出し、ダイアログボックスを表示するために ajax を使用しています。php で通常の html として正常に動作しましたが、php 変数として保存したので、if ステートメントが気に入らず、ドロップダウンには常にデフォルトの「選択」オプションが表示されます。これはできますか?それとも私の書き方が悪いだけでしょうか?

$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>";
4

2 に答える 2

5

次のように行う必要があります。

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

三項演算子を使用しない場合:

$html .= "<option ";

if ($priority == 'Low') {
    $html .= 'selected';
}

$html .= " value='Low'>Low</option>";
于 2013-03-05T21:18:54.460 に答える
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;

テスト済み!

于 2013-03-05T21:23:00.990 に答える