0

次のように、PHP を使用して HTML Web フォームの選択メニューを生成しています。

$foods = array( 
    '1' => 'fruit',
    '2' => 'pizza',
    '3' => 'bread',
    '4' => 'nuts',
);

HTML 選択入力のコードは次のとおりです。

<select id="food" name="food">
    <option value="*">- No Selection - </option>
    <?php 
        $output = "";
        $selected = false;

        foreach($foods as $food => $value) {
            $food = htmlspecialchars($food);
            $output .= "<option value=\"$food\"";
            if ($food == $pcSymptomSearch) {
                $selected = true;
                $output .= " selected";
            }
            $output .= ">$value</option>";
        }
        echo $output;
    ?>
</select>

Safari/Mac OS X でソースを表示すると、PHP によって生成された選択入力が次のように 1 行で表示されることに気付きました。これにより、読み取り/デバッグが少し難しくなります。

<option value="1">fruit</option><option value="2">pizza</option><option value="3">bread</option><option value="4">nuts</option>                     </select>

次のように各オプションを 1 行に表示する方法はありますか。

    <option value="1">fruit</option>
    <option value="2">pizza</option>
    <option value="3">bread</option>
    <option value="4">nuts</option>                     
</select>
4

2 に答える 2

2

出力用の文字列を作成するときに\n、改行が適切なすべての場所に (改行文字) を追加するだけです。

 $output .= ">$value</option>\n";
于 2013-05-26T15:23:31.857 に答える
1

交換:

$output .= ">$value</option>";

$output .= ">$value</option>\n";
于 2013-05-26T15:23:04.430 に答える