我在Cakephp 2.x应用程序中有一个输入表单,如下所示:
echo $this->Form->input('color_id', array('label' => 'Color', 'options' => $colors, 'empty' => false, 'multiple' => true));
我想将css添加到输入中,其中select的背景因选项而异。
如果颜色为红色,则背景颜色为红色。
我已经尝试过这种方式:
echo $this->Form->input('color_id', array('label' => 'Color', 'options' => $colors, 'empty' => false, 'multiple' => true, 'style' => 'background:yellow;'));
但它用于整个输入[type = select],而不是每个选项。 谁能帮我?提前谢谢。
答案 0 :(得分:0)
我认为您不能使用默认表单构建器。您可以使用普通的PHP打破选择,如下所示:
$html = '<select name="position">';
$opts = array('red', 'green', 'blue');
foreach($opts as $option)
{
$html .= '<option value="' . $option . '"';
$html .= 'style=background-color:'.$option;
$html .= '>' . ucfirst($option) . '</option>';
}
$html .= '</select>';
print $html;
如果您的颜色不是精确的css颜色,您可以指定具有该名称的类,然后通过css应用颜色。
例如:
$html .= 'class="'.$option.'"';