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