6

我正在用 Symfony2 构建一个表单,需要对一些复选框进行分组。我根本无法弄清楚如何将选择/标签传递给 BonusGroup 中的复选框。

形式:

$builder->add('groups', 'collection', array(
     'type' => new BonusGroup(),
     'allow_add' => false,
     'allow_delete' => false,
     'by_reference' => false
));

奖金组():

$builder->add('bonus', 'choice', array(
      'choices'  => $options['bonus'],
      'multiple' => true,
      'expanded' => true
));

视图.twig:

{% for group in form.groups %}
     {{ form_label(group) }}
     {% for final in group.bonus %}
          {{ form_widget(final) }}
     {% endfor %}
{% endfor %}

将数据传递给表单:

$data = array(
    'groups' =>
        array ('Group 1 label' => array())
);

$form = $app['form.factory']->createBuilder(new Form(), $data))->getForm();

有小费吗?

谢谢!

4

1 回答 1

2

首先,将form_widget更改为form_row,但它还不能工作,因为集合类型需要一段 JavaScript 才能工作。

请参阅此处的示例:http: //symfony.com/doc/2.1/reference/forms/types/collection.html

于 2013-03-04T12:48:18.097 回答