繁体   English   中英

zf2 表单禁用选择选项

[英]zf2 form disable select option(s)

是否可以禁用选择元素中的选项?

我有一个带有 select 元素的表单,默认情况下有很多可用选项。 在表单创建过程中,根据从数据库中检索到的信息,我想禁用某些选项。

一些研究提出了$form->get('selectElement')->setAttribute("disabled", array(0, 1, 2)); ...这应该禁用前 3 个选项,但不幸的是没有。

您必须使用setAttribute()方法来设置select元素的属性,而不是它的选项。 为此,您应该使用setValueOptions()

$myOptions = $form->get('selectElement')->getValueOptions();
foreach ([0, 1, 2] as $value) {
    $myOptions [$value]['disabled'] = true ;
}
$form->get('selectElement')->setValueOptions($myOptions);

$myOptions必须是一个选项数组:

[
    [
        'label' => 'My first option',
        'disabled' => false,
        'value' => 1
    ],
    [
        'label' => '2nd option',
        'disabled' => false,
        'value' => 2
    ],
    [
        'label' => '3rd option disabled',
        'disabled' => true,
        'value' => 3
    ],
]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM