我在symfony2中做了一个过滤器表单,我尝试预先选择一些字段。
我有两个选择:
$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传递的数据是预先选择的。但是对于第二个展开的选项则不是。
有什么方法可以从字段选项中预先选择复选框?
3条答案
按热度按时间hvvq6cgz1#
必须提供选定值的数组作为多选字段的数据。
编辑:不相关的回答,我的错误
尝试提供一个key =〉布尔数组,因为选中状态依赖于布尔值。
我认为你只需要在你的数组中放入检查过的值,所以那些为真的值;)
bttbmeg02#
我发现这个问题的最佳解决方案是在生成表单之前简单地为对象设置默认值。
例如:
$myEntity->setMyfieldchoice(1);
这样symfony就会明白这个值是默认值(我在select字段上使用过)。
希望这能有所帮助!
ruoxqz4g3#
试试看:
并查看:
对我有用。