Cakephp背景颜色为多个输入

时间:2014-02-19 07:14:05

标签: css forms cakephp input background

我在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],而不是每个选项。 谁能帮我?提前谢谢。

1 个答案:

答案 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.'"';