1

名前と色を使ってアクティビティを追加する簡単なフォームを作成しようとしています。

だから私は色の配列でリストを作りたいです、今のところそれは働いています私は色の名前を持っています、しかし私が欲しいのは次のようなものを作ることです:

<select id="a" name="select" style="width: 10%;">
    <option style="background-color: FF0;" value="FF0"></option>
    <option style="background-color: F0F;" value="F0F"></option>
    <option style="background-color: 0FF;" value="0FF"></option>
</select> 

「style="background-color:"mycolor;」を追加するにはどうすればよいですか。私の形に?

public function buildForm(FormBuilder $builder, array $options)
{        
    $builder->add('name');         
    $listColor;

    for($r = 0;$r < 255; $r = $r + 120)
    {
        for($g = 0;$g < 255; $g = $g + 120)
        {    
            for($b = 0;$b < 255; $b = $b + 120)        
            {
                $string = dechex($r).dechex($g).dechex($b);
                $listColor[$string] = $string;
            }
        }
    }
    $builder->add('color', 'choice', array(
        'choices' => $listColor));
}

配列にいくつかのオプションを含めるためのトリックはありますか?いくつかのhtmlを置くために?

それについて私が見つけた最も近いことは、フォームにクラス名を追加して、その後にcssで何かを行うことでした...

{{ form_widget(form, { 'attr': {'class': 'myclass'}}) }}

ありがとう;)

RaFF

4

1 に答える 1

0

jqueryを使用してこの問題を解決できます。次の例を試してください:

JSBIN "style =" background-color: "mycolor;"

$(document).ready(function(){
    $("#a option").each(function(index,value){
       var option = $(this);
       var bc= 'background-color:'+option.val()+';';
       option.attr('style',bc);
    });
});
于 2012-06-09T17:19:34.243 に答える