Symfony-复选框选择全部

Symfony-复选框选择全部,symfony,Symfony,我在表单生成器的SYMFONY中有一个多选复选框,但我希望有一个“全选”复选框来选择实体的所有选择 我用jquery尝试了很多解决方案,但都不管用 这是我的代码控制器 <?php namespace AdminBundle\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use

我在表单生成器的SYMFONY中有一个多选复选框,但我希望有一个“全选”复选框来选择实体的所有选择

我用jquery尝试了很多解决方案,但都不管用

这是我的代码控制器

<?php

namespace AdminBundle\Controller;

use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;

use Symfony\Bridge\Doctrine\Form\Type\EntityType;

use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;

use Symfony\Component\Form\Extension\Core\Type\ChoiceType;


use Symfony\Component\Validator\Constraints as Assert;

use AdminBundle\Entity\Equipments;

use AdminBundle\Repository\Metier;



class EquipementsController extends Controller
{
    /**
     * @Route("/", name="homepage")
     */



    public function indexAction(Request $request)
    {


            //$metiers = $this->getDoctrine()->getManager()->getRepository('AdminBundle:Metier')->getForSearch();


            $form = $this->createFormBuilder()

                    ->add('metier', EntityType::class, array('class' => 'AdminBundle:Metier', 'choice_label' => 'name','required' => false, 'expanded' => true,  'placeholder' => 'Tous', 'multiple' => true, 
还有我的树枝

{{ form_start(form) }}
{{ form_errors(form) }}
<fieldset><legend><b>Filière</b></legend>
    {{ form_row(form.metier) }}
</fieldset>  

<fieldset><legend><b>Opération</b></legend> 
        {{ form_row(form.operation) }}
</fieldset>  
{{ form(form) }}
{{ form_end(form) }}

调整细枝模板,使其包含“全选”复选框:

{{ form.row(form.checkboxes, {'attr': {'class': 'class-name-of-checkboxes'} }) }}

<input type="checkbox" id="select-all" name="select-all" /> Select All
然后,jQuery在$'select-all'复选框对象上使用.on'change'来运行函数,如果选中该复选框,则将checked=checked的属性添加到具有class.class name复选框的所有输入中

参考文献:


我尝试过,但它给了我这样的信息:属性复选框和方法复选框、getcheckbox/ischeckbox或u\u调用都不存在,并且在AdminBundle:Advert:equipments-drupal.html.twig第171行的Symfony\Component\FormView类中具有公共访问权限。我将jQuery放在了一个什么是最好的解决方案?好-很好,那么我需要改变什么呢?感谢您的帮助{form_rowform.metier,{'attr':{'class':'classname of checkbox'}}
$('#select-all').on('change', function()
{
    if ($(this).is(':checked')) {
        $('.class-name-of-checkboxes').attr('checked', 'checked')
    }
})