2016-09-26 2 views
0

問題:複数のドロップダウンは配列ではなく文字列を渡すだけです。この小枝テンプレートでsymfony2 formbuilder choice複数のスローなし配列

->add('options', 'choice', array(
        'choices' => $printerOptionsDropdown, 
        'empty_value' => 'Optionen wählen', 
        'label' => 'Optionen', 
        'attr' => array(
         'class' => 'form-control selectpicker', 
         'data-live-search' => true, 
         'multiple' => true), 
        'required' => false 
       )) 

私はformbuilderで複数のドロップダウンを使用しようとした

<form action="{{ path('<form>_create', { 'id' : entity.id }) }}" name="<formForm>" id="<formForm>" method="POST" class="form-horizontal" role="form" > 
     <div class="form-group"> 
      <label for="<formbuildertag>_options" class="col-sm-2 control-label">{{ form_label(form.options) }}</label> 
      <div class="col-sm-4"> 
       {{ form_widget(form.options) }}{{ form_errors(form.options) }} 
      </div> 
     </div> 

、すべてが正常に見えます。複数のオプションを選択できます。 しかし、私がフォームを送信すると、配列ではなく文字列が渡されます。

<formbuildertag>[options]:"Value1" 
<formbuildertag>[options]:"Value2" 

投稿要求の出力はValue2の文字列です。それは配列ではないので上書きされます。わかった。しかし、なぜformbuilderはフォームの配列を作成しないのでしょうか。

私はすでにFULL_NAME

form_widget(form.options, `enter code here`'full_name' => '<formbuldertag>[options][]') 

を上書きしようとしたが、それはうまくいきませんでした。

アイデア?

答えて

1

multipleオプションをtrueに設定する必要があります。あなたはattrにあります。以下のように変更してください:

->add('options', 'choice', array(
    'choices' => $printerOptionsDropdown, 
    'empty_value' => 'Optionen wählen', 
    'label' => 'Optionen', 
    'attr' => array(
     'class' => 'form-control selectpicker', 
     'data-live-search' => true, 
    'required' => false, 
    'multiple' => true 
)) 

関連する問題