2016-05-05 5 views
2

選択要素のオプションを無効にすることはできますか?zf2形式無効にする選択肢

私は、デフォルトでは多くのオプションが利用可能なselect要素を持つフォームを持っています。フォームの作成中に、データベースから取得した情報に応じて、いくつかのオプションを無効にしたいと思います。

$form->get('selectElement')->setAttribute("disabled", array(0, 1, 2)); ...最初の3つのオプションを無効にする必要がありますが、残念ながらそうではありません。

+0

可能な重複:[Zend Frameworkの2の選択いくつかのオプションを無効にする](http://stackoverflow.com

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

$myOptionsは、オプションの配列でなければなりません/ questions/31362010/disable-some-options-select-in-zend-framework-2) – Clijsters

答えて

0

select要素の属性ではなく、その属性を設定するには、setAttribute()メソッドを使用する必要があります。このために、あなたはsetValueOptions()を使用する必要があります。

[ 
    [ 
     'label' => 'My first option', 
     'disabled' => false, 
     'value' => 1 
    ], 
    [ 
     'label' => '2nd option', 
     'disabled' => false, 
     'value' => 2 
    ], 
    [ 
     'label' => '3rd option disabled', 
     'disabled' => true, 
     'value' => 3 
    ], 
] 
関連する問題