gpt4 book ai didi

php - 禁用一个 Zend Multioption 表单 MultiCheckbox

转载 作者:搜寻专家 更新时间:2023-10-31 22:07:07 24 4
gpt4 key购买 nike

我正在创建一个多选框,然后用一个循环填充它。是否可以在填充之后或填充期间禁用其中一个复选框?

$multiOptions = array();
$multiCheckbox = new Zend_Form_Element_MultiCheckbox('multi_name', $multiOptions);
foreach($valuesArray AS $value) {
$name = $this->getName($value);
$multiCheckbox->addMultiOption($name, $value);
}

我试图通过下面的代码禁用一个复选框,但没有成功。有人有更好的建议吗?

$multiCheckbox->setAttrib('disable', $this->getName($valuesArray[2]));

这也没有帮助:

$multiCheckbox->setAttrib('disable', $valuesArray[2]);

带值的数组只是一个简单的数组:

$valuesArray(1, 2, 3, 4, 5);

最佳答案

您需要创建一个新的 View 助手,以便您可以在元素显示时设置该元素的禁用属性。

当前的 View 助手代码如下所示:

public function formMultiCheckbox($name, $value=null, $attribs=null, $options=null, $listsep="<br />\n") {
return $this->formRadio($name, $value, $attribs, $options, $listsep);
}

您应该能够在创建多复选框时设置“disabledElement”选项,然后在您的 View 助手中检查显示的复选框是否应该被禁用。

public function formMultiCheckbox($name, $value=null, $attribs=null, $options=null, $listsep="<br />\n") {
$disableElements = $options['disableElement'];

if(in_array($name, $disableElements, true)) {
$options['disable'] => true;
}

return $this->formRadion($name, $value, $attribs, $options, $listsep);
}

覆盖 View 助手以检查应禁用哪些元素,然后设置选项应该起作用。

您可能希望将 Form_Element_MultiCheckbox 扩展到您自己的类中,并自己为该元素创建 View 助手。 Based on the Zend Framework manual

关于php - 禁用一个 Zend Multioption 表单 MultiCheckbox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com