2016-04-22 8 views
0

Мне нужно установить флажок «Выбрать все» с помощью этих нескольких флажков. Если я нажму кнопку «Выбрать все», все флажки должны быть выбраны и отменить выбор также мне нужно.Множество флажков с флажком выбора всех в конструкторе форм symfony

class HabitacionFotoPrincipalType extends AbstractType 
{ 
    public function buildForm(FormBuilder $builder, array $options) { 
     $builder->add('choice', 'choice', array(
      'choices' => array(
       'morning' => 'Morning', 
       'afternoon' => 'Afternoon', 
       'evening' => 'Evening', 
      ), 
      'expanded' => true, 
      'multiple' => true, 
     )) 
    } 
} 
+0

фиксированной грамматической и улучшить формат кода блока – Robert

+0

предполагая, что вам не нужно на самом деле хранить информацию о том щелкнул пользователю выбрать все , это легко сделать с дополнительным флажком + javascript/jquery непосредственно в представлении (т. е. не нужно изменять для этого тип класса формы) – ejuhjav

ответ

1

Флажок «Выбрать все» - это не то, что Symfony поддерживает по умолчанию. Поэтому в основном это потребует добавления дополнительного флажка и добавления к нему логики Javascript.

$builder->add('selectAll', CheckboxType::class, array(
    'attr' => array('class'=>'selectAllCheckboxes') 
); 

И Javascript, чтобы выбрать все остальные:

$('.selectAllCheckboxes').click(function(){ 
    $('<class for other checkboxes>').click(); 
});