2013-04-25 97 views
0

我想知道是否有簡單的方法來禁用用戶修改它的一個複選框(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 
    )); 

通過$這個 - > disabledRoles我的意思是角色的實體或實體本身的ID數組,但它似乎只是被動地接受它適用於所有實體(複選框布爾值)。感謝您的建議:-)

回答

0

您將需要添加窗體監聽器來自定義單個元素。 http://symfony.com/doc/current/cookbook/form/dynamic_form_modification.html

看起來好像很多工作,但一旦你完成了這些例子,這很容易。您最終會將disabledRoles傳遞給偵聽器,然後相應地設置禁用的標誌。

+0

感謝您的建議,但我仍然不知道如何訪問個別複選框並將其設置爲禁用。你能提供一些示例代碼嗎? – 2013-04-25 14:11:46

相關問題