禁用表单中的一些复选框

时间:2013-04-25 10:26:22

标签: forms symfony checkbox

我想知道是否有一种简单的方法可以禁止用户修改一个复选框(Symfony 2.1)。我正在尝试这样的事情:

     $builder->add('adminRoles', 'entity',  array(
            'property' => 'roleName',
            'class' => 'MyBundle:Role',
            'query_builder' => function(EntityRepository $er) {
                return $er->createQueryBuilder('r')
                    ->orderBy('r.roleName', 'ASC');
            },
            'disabled' => $this->disabledRoles,
            'expanded' => true,
            'multiple'  => true
     ));

通过$ this-> disabledRoles我的意思是角色实体或实体本身的ID数组,但它似乎只接受应用于所有实体(复选框)的布尔值。谢谢你的建议: - )

1 个答案:

答案 0 :(得分:0)

您需要添加表单侦听器才能自定义单个元素。 http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html

看起来似乎很多工作但是一旦你完成这些例子就很容易了。您将最终将disabledRoles传递给侦听器,然后相应地设置disabled标志。