2012-02-22 5 views

risposta

13

Per la Zend_Form_Element_Select() va in questo modo

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

$element->setMultiOptions($multiOptions); 

Nota che anche voi avete addMultiOption ($ opzione, $ value) e addMultiOptions ($ opzioni). Basta includere il valore o le opzioni in un array aggiuntivo.

+0

Come posso avere 'Gruppo A' anche un ID? come 001 – YumYumYum

+2

#Google Non sei sicuro di cosa intendi con ID. Un 'optgroup' non è un oggetto che puoi selezionare. In Zend la chiave per un array 'Gruppo A' diventa un'etichetta e l'etichetta appare come un titolo nel menu a discesa. Vedi [W3Schools] (http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_optgroup) –

+0

Mi interessa la risposta alla domanda usando XML, come richiesto, che sarebbe utile con Zend_Config_XML e Zend_Form_Element – axiom82

11

In Zend Framework 2 questo può essere fatto come segue:

$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' 
     ), 

    )); 

si prega di notare che l'opzione di nome empty_options non esiste invece empty_option dovrebbe essere usato.

+0

@DrCord Non penso che avresti dovuto accettare la modifica suggerita - avrebbe dovuto essere un commento. – ace

+0

forse parte di un commento potrebbe essere stato, ma la modifica al codice effettivo che lo rende utile agli utenti per copiare la pasta in quanto sono inclini a fare è stata una modifica utile. – DrCord

+0

@DrCord Anche così, la prima frase non dovrebbe essere qui. – ace

Problemi correlati