Zend MultiCheckbox输入属性

时间:2012-10-15 20:22:04

标签: php html zend-framework

我有一个类似的multiheckbox元素:

$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);

当我渲染一个multiheckbox元素时,它看起来像是:

<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>

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

1 个答案:

答案 0 :(得分:2)

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

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

不确定这在任何地方都有很好的记录。我希望在ZF 2.0中看到多选的一些改进。目前他们确实有其局限性。具体设置各个选项的类或样式属性。我不得不扩展/添加备用元素类并查看帮助程序以解决过去的一些问题。如果必须的话,这很容易做到。