我怎样才能创建一个checkBox - Silex框架

时间:2017-06-01 08:26:32

标签: php checkbox silex

我正在使用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像这样:

enter image description here

谢谢。

1 个答案:

答案 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 />';
},