2016-05-05 103 views
2

是否可以禁用選擇元素中的選項?zf2窗體禁用選擇選項

我有一個選擇元素的窗體,默認情況下有很多選項可用。在創建表單時,根據從數據庫中檢索的信息,我想禁用某些選項。

一些研究想出了 $form->get('selectElement')->setAttribute("disabled", array(0, 1, 2)); ...應該禁用前3個選項,但不幸的是沒有。

+0

可能重複:[禁用某些選項的Zend Framework 2選擇(http://stackoverflow.com /問題/ 31362010 /禁用-一些選項 - 選擇 - 在-的Zend框架-2) – Clijsters

回答

0

您必須使用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 
    ], 
]