2015-11-27 7 views
2

Я хочу выбрать опцию в выпадающем меню. Я пытаюсь сделать следующий фрагмент кода:Выберите опцию выбора выпадающего списка в форме

$form = $this->createForm(new SearchAdvancedType()); 
$form->get('option')->setData($session->get('option')); 

Но он ничего не делает в раскрывающемся меню. При загрузке страницы ничего не выбрано.

Чтобы проверить, если значение было хорошо посаженные напечатать его с помощью:

$form->get('brand')->Data(); 

и результат был ряд (она меняется в зависимости от того, что я выбрал в выпадающем списке ранее).

Мне нужно знать, как правильно выбрать значение выпадающего списка.

ответ

2

Чтобы задать опцию select, я передам значение в форму.

class MyFormType extends AbstractType 
{ 

    /** 
    * @param FormBuilderInterface $builder 
    * @param array $options 
    */ 
    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 
     $builder 
      ->add('type', 'choice', [ 
       'required' => true, 
       'choices' => ['yes' => 'Yes', 'no' => 'No'], 
       'data' => $options['select_option'] 
      ]) 
     ; 
    } 

    /** 
    * @param OptionsResolver $resolver 
    */ 
    public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver->setDefaults(array(
      'data_class' => null, 
      'select_option' => null 
     )); 
    } 

    /** 
    * @return string 
    */ 
    public function getName() 
    { 
     return 'my_form'; 
    } 

} 

Затем в вашем контроллере передайте значение;

$form = $this->createForm(new MyFormType(), null, ['select_option' => 'no'); 
Смежные вопросы