2012-02-22 8 views

Odpowiedz

13

Dla Zend_Form_Element_Select() To idzie tak

$multiOptions = array(
    'Group A' => array(1 => 'First Value',2 => 'Second Value A), 
    'Group B' => array(3 => 'Third Value'), 
); 

$element->setMultiOptions($multiOptions); 

Zauważ, że musisz również addMultiOption ($ opcji, $ value) oraz addMultiOptions ($ options). Po prostu podaj wartość lub opcje w dodatkowej tablicy.

+0

Jak mogę mieć "Grupę A" również identyfikator? jak 001 – YumYumYum

+2

#Google Nie wiesz, co masz na myśli z identyfikatorem. 'Optgroup' nie jest elementem, który można wybrać. W Zend klucz dla tablicy "Grupa A" staje się etykietą, a etykieta wygląda jak tytuł w rozwijanym menu. Zobacz [W3Schools] (http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_optgroup) –

+0

Jestem zainteresowany pytaniem, na które udzielono odpowiedzi przy użyciu XML-a, ponieważ był on potrzebny, co byłoby przydatne przy Zend_Config_XML i Zend_Form_Element – axiom82

11

w Zend Framework 2, można to zrobić w następujący sposób:

$this->add(array(
     'name'=>'Test', 
     'type'=>'Zend\Form\Element\Select', 
     'attributes'=>array('type'=>'select','required'=>'required'), 
     'options'=>array(
      'label'=>'Test', 
      'value_options'=>array('fruits'=>array('label'=>'Fruits','options'=>array('1'=>'Apple','2'=>'Mango')),'animals'=>array('label'=>'Animals','options'=>array('cat'=>'CAT','dog'=>'DOG'))), 
      'empty_option'=>'Please Select' 
     ), 

    )); 

należy pamiętać, że opcja o nazwie empty_options nie istnieje zamiast empty_option powinny być stosowane.

+0

@DrCord Nie sądzę, że powinieneś zaakceptować sugerowaną zmianę - powinien to być komentarz. – ace

+0

Być może część z nich mogła być komentarzem, ale edycja do rzeczywistego kodu, który sprawia, że ​​praca dla użytkowników do kopiowania wklej, ponieważ są one skłonne zrobić, była warta edycji. – DrCord

+0

@DrCord Mimo to, pierwsze zdanie nie powinno tu być. – ace