问问题
167 次
4 回答
5
在输出中创建一个包含所需数据的数组。循环它。为其中的每个项目生成一个选项元素。
于 2012-08-07T10:46:41.673 回答
1
作为 Quentin 的补充(只是一些帮助你的代码),我也倾向于使用数组,如下所示:
<select name="myval">
<?php
$options = array(
"1" => "One",
"2" => "Two"
);
foreach ($options as $value => $text) {
echo '<option value="' . $value . '"' . ($myval == $value ? ' selected' : '') . '>' . $text . '</option>';
}
?>
</select>
于 2012-08-07T10:49:11.483 回答
1
对于这种重复输出,最简单的方法是自己编写一个函数,例如:
function selectbox(array $options, $name, $value = null) {
$out = '<select name="' . $name . '">';
foreach($options as $key => $text) {
$out .= '<option value="' . $key. '"' . ($key == $value ? ' selected="selected"' : null) . '>' . $text . '</option>';
}
return $out . '</select>';
}
于 2012-08-07T10:54:15.073 回答
0
有很多方法可以让代码更简洁。找到一个或发明你自己的:)
对于选择语句,我喜欢使用实用方法。例如:
<?= HTML::createSelect($name, $actualvalue, $optionslist, $passthrough) ?>
那条线上的东西。从数据库中读取选项列表和实际值。Passthrough 用于添加 HTML 装饰器,例如 id、class 等。
于 2012-08-07T10:49:36.910 回答