我正在使用Silex framework
。我希望inputText
更改checkBox
以进行多项选择。
这是我的代码:
$app->get('/Chart/{A}/{B}/{C}/{D}', function(Request $request, $A, $B, $C, $D) use ($app) {
if ($app['security']->isGranted('ROLE_USER')) {
///start form
$user = $app['security']->getToken()->getUser();
$form = $app['form.factory']->createBuilder('form')->setMethod('GET')
->add('Article', 'text', array(
'data' => '',
'required' => FALSE))
我改变了:
->add('Article', 'choice', array(
'choices' => array('A' => 'B',
'B' => 'B',
'C' => 'C',
'D' => 'D',
'OTHERS' => 'OTHERS'),
'required' => FALSE,
'empty_value' => 'ALL',
'empty_data' => NULL
))
但这个是一个独特的选择。
如何将其更改为多选复选框?
我希望checkBox
multiple choice
像这样:
谢谢。
答案 0 :(得分:1)
Haven未对其进行测试,但我相信您可以像这样设置multiple
选项:
->add('Article', ChoiceType::class,
array(
'choices' =>
array('A' => 'B',
'B' => 'B',
'C' => 'C',
'D' => 'D',
'OTHERS' => 'OTHERS'
),
'required' => false,
'multiple' => true,
'expanded' => true
)
);
有关更多信息,请参阅this文档。
关于换行符,您可以尝试将最后一部分更改为此(再次:未经我测试):
...
'expanded' => true,
'choice_label' => function ($value, $key, $index) {
return $key.'<br />';
},