1

私のフォームでは、生年月日フィールドを次のように生成します。

{{form_widget(form.birthdate) }}

次の html が生成されます。

<div id="fos_user_registration_form_birthdate">
    <select id="fos_user_registration_form_birthdate_month"     name="fos_user_registration_form[birthdate][month]">
    <select id="fos_user_registration_form_birthdate_day" name="fos_user_registration_form[birthdate][day]">
    ,
    <select id="fos_user_registration_form_birthdate_year" name="fos_user_registration_form[birthdate][year]">
</div>

スタイルをカスタマイズするために、select にクラスを追加したいと考えています。どうやってやるの?

PS:追加すると

'attr' => array('class' => 'select-style'),

<div id="fos_user_registration_form_birthdate">クラスはselect ではなく に属しています

4

2 に答える 2

9
{{ form_widget(account_form.birthday.day,{'attr':{'class':'some_class'}}) }}
{{ form_widget(account_form.birthday.month,{'attr':{'class':'some_class'}}) }}
{{ form_widget(account_form.birthday.year,{'attr':{'class':'some_class'}}) }}
于 2014-01-15T15:19:07.977 に答える
2

これは、日付ウィジェットの小枝テンプレートを自分でオーバーライドせずに実行できる最善の方法です。ここで日付ウィジェットのデフォルト テンプレートを見ると、select 入力に特別に渡された属性がないことがわかります。ただし、含まれている div にクラスを適用し、このような CSS セレクターを使用してスタイルを設定することはできます

.dateWrapper select { /* style here */ }
于 2012-07-05T15:50:56.843 に答える