我正在symfony2中做一个过滤器表单 我试着预选一些filds。
我有两个选择:
$formBuilder->add('first', 'choice',
array('choices' => $choiceFirst,
'expanded' => false,
'multiple' => true,
'data' => explode(' ', $this->getRequest()->get('first'))
));
$formBuilder->add('second', 'choice',
array('choices' => $choiceSecond,
'expanded' => true,
'multiple' => true,
'data' => explode(' ', $this->getRequest()->get('second'))));
对于未展开的第一个选项,通过url传递的数据是预选的。 但不是第二次扩大。
有什么方法可以从字段选择中预先选择复选框吗?
答案 0 :(得分:1)
您必须提供一系列选定值作为多选字段的数据。
编辑:不相关的答案,我的错误
尝试提供密钥=>布尔数组作为检查状态取决于布尔值。
我认为你只需要在数组中加入检查值,那么那些是真的;)
答案 1 :(得分:1)
我发现此问题的最佳解决方案是在生成表单之前简单地为您的对象设置默认值。
赞:$myEntity->setMyfieldchoice(1);
这样symfony会理解这个值是默认值(在我的选择字段上工作)。
希望这有帮助!
答案 2 :(得分:1)
尝试:
$formBuilder->add('first', 'choice',
array('choices' => array('0' => 'first option', '1' => 'second option'),
'expanded' => false,
'multiple' => true,
'data' => explode(' ', $this->getRequest()->get('first'))
));
并查看:
{{ form_widget(form.first.0) }}
{{ form_widget(form.first.1) }}
对我而言。