2012-02-15 7 views
2

私はSymfony2を新しく使い、データベースからドロップダウンメニューを作成しようとしているフォームビルダーを使っています。私は問題なくドロップダウンに値を設定できますが、各オプション値の属性はオプションテキストまたは値属性のいずれかに設定する必要がある場合に数値に設定されますが、値の設定についてはドキュメントに何も見つかりません。ドロップダウンメニューの値属性を設定するsymfony2

$builder->add('institution', 'entity', array(
    enter code here  'class' => 'JacksonFramesStoreBundle:Institution', 
     'query_builder' => function(EntityRepository $er) { 
          return $er->createQueryBuilder('i') 
           ->where('i.type = :type') 
           ->setParameter('type', 'University'); 
          }, 
     'empty_value' => 'Select:', 
     'empty_data' => null, 
    )); 

この出力:

<select id="selectUniversity" name="selectUniversity"> 
    <option value="0"></option> 
    <option value="1">Australian Catholic University</option> 
    <option value="2">Australian National University</option> 
    <option value="3">Bond University</option> 
</select> 

EDIT - この枝コントローラで

+0

あなたが使用するテンプレートからコードを追加してください。 – jkucharovic

+0

何が問題なのですか?フォームが送信されると、選択した値が自動的に関連するエンティティに変換されます。 –

+0

@AlessandroDesantisしかし、javascriptを使って作業しても問題は解決しません –

答えて

0
<!-- University Panel --> 
<div id="uniPanel" style="display:none;"> 
    <p>{{ form_label(form.institution) }}<br /> 
     <span class="inputLine"> 
      {{ form_errors(form.institution) }} 
      {{ form_widget(form.institution) }} 
     </span> 
    </p> 
</div> 

の関連セクションで、if ($form->isValid())後、使用してみてください:

$value = ($entity->getInstitution()) ? $entity->getInstitution()->getId() : null); 

あなたの質問を本当に理解しているかどうかは本当に分かりません

関連する問題