我正在使用PHP为HTML网页表单生成选择菜单,如下所示:
$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生成的选择输入会出现在这样的一行上,这使得读取/调试有点棘手:
<option value="1">fruit</option><option value="2">pizza</option><option value="3">bread</option><option value="4">nuts</option> </select>
有没有办法让每个选项显示在一行上,如下所示:
<option value="1">fruit</option>
<option value="2">pizza</option>
<option value="3">bread</option>
<option value="4">nuts</option>
</select>
答案 0 :(得分:2)
您所要做的就是在为输出构建字符串时,在换行符适当的每个位置添加\n
(换行符)。
$output .= ">$value</option>\n";
答案 1 :(得分:1)
替换:
$output .= ">$value</option>";
与
$output .= ">$value</option>\n";