1

我的任务是禁用表单选择字段中的某些复选框,而有些则不禁用。有没有一种简单的方法可以在不重写选择字段布局的情况下实现这一目标?

4

2 回答 2

3
于 2012-09-28T23:38:51.240 回答
2

我想澄清有关 Flavien 解决方案的一些信息,但我没有足够的声誉在他的帖子下发表评论。

$builder->add('myChoice', 'choice', array('attr'=>array('disabled'=>'disabled')));

'disabled'=>'disabled' 的使用是错误的(因为正确的部分是错误的)。它可以工作,但禁用(左)接受布尔值,应该接收真或假。在这种情况下,它确实有效,因为除了 0 之外的任何东西都是真的。

我为什么要解释这个?因为也许有人想在不同的地方使用相同的表单并且只禁用一个输入(实际上使其只读)。因此,他将向“禁用”参数提供一个变量,如果该变量不是布尔值,它将始终导致禁用输入。

tl;博士

 $builder->add('myChoice', 'choice', array('attr'=>array('disabled'=>true)));

或者

$builder->add('myChoice', 'choice', array('attr'=>array('disabled'=>false)));
于 2016-08-10T15:47:33.220 回答