2

我有一个这样的多复选框元素:

$element = new Zend_Form_Element_MultiCheckbox('infos', array('disableLoadDefaultDecorators' => true));
$element->addDecorator('ViewHelper')
        ->setRequired(true)
        ->addMultiOption('value1', 'BLABLABLA')
        ->addMultiOption('value2', 'BLABLABLA2')
        ->addValidator('NotEmpty', true);
$element->getValidator('NotEmpty')->setMessage('Pelo menos uma informação é necessária');
$this->addElement($element);

当我渲染一个多复选框元素时,它看起来像这样:

<p>     
     <label for="infos-value1">
            <input type="checkbox" name="infos[]" id="infos-value1" value="value1">BLABLABLA
     </label><br>
     <label for="infos-value2">
             <input type="checkbox" name="infos[]" id="infos-value2" value="value2">BLABLABLA2
     </label><br>
 </p>

我只想为第一个输入添加一个属性,所以第一个输入类似于:

<input type="checkbox" name="infos[]" id="infos-value1" value="value1" disabled>BLABLABLA
 </label><br>

如何将属性“禁用”添加到我的两个输入之一?

4

1 回答 1

2

只需传递要禁用的选项的索引,如下所示:

$element->setOptions(array('disable' => array('value1', 'value2')));

不确定这在任何地方都有很好的记录。我希望在 ZF 2.0 中看到多选功能的一些改进。目前,它们确实有其局限性。专门为各个选项设置类或样式属性。过去,我不得不扩展/添加备用元素类和视图助手来解决其中的一些问题。如果必须的话,很容易做到。

于 2012-10-15T20:39:45.050 回答