2017-06-01 103 views
0

我正在使用Silex framework。我想更改inputText 012选择checkBox。 这下我的代码:如何创建复选框 - Silex框架

$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 
       )) 

但是这个人是一个独特的选择。 如何将其更改为多选的复选框? 我想checkBoxmultiple choice这样的:

enter image description here

谢谢。

回答

1

没有测试过,但我相信你可以设置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 />'; 
}, 
+0

谢谢您的回答,但它不工作几乎是相似的。 – Nazly

+1

你可以试试更新的?我害怕atm我没有测试的手段:) – Hatef

+0

是的,我测试了它。它显示有多个选项的选择列表,我的意思是一个独特的选择,它不是一个 Nazly