2012-02-22 12 views

Respuesta

13

Para el Zend_Form_Element_Select() va así

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

$element->setMultiOptions($multiOptions); 

en cuenta que también tiene addMultiOption (opcional $, $ value) y addMultiOptions ($ opciones). Simplemente incluya el valor u opciones en una matriz adicional.

+0

¿Cómo puedo tener el "Grupo A" también una identificación? como 001 – YumYumYum

+2

#Google No estoy seguro de lo que quiere decir con ID. Un 'optgroup' no es un elemento que puede seleccionar. En Zend, la clave para una matriz del "Grupo A" se convierte en una etiqueta y la etiqueta se ve como un título en el menú desplegable. Consulte [W3Schools] (http://www.w3schools.com/html5/tryit.asp?filename=tryhtml5_optgroup) –

+0

Me interesa que la pregunta se responda mediante XML, tal como se solicitó, lo cual sería útil con Zend_Config_XML y Zend_Form_Element – axiom82

11

En Zend Framework 2 esto se puede hacer de la siguiente manera:

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

    )); 

tenga en cuenta que una opción llamada empty_options no existe lugar empty_option debe ser utilizado.

+0

@DrCord No creo que debas haber aceptado la edición sugerida, debería haber sido un comentario. – ace

+0

tal vez parte de podría haber sido un comentario, pero la edición del código real que hace que funcione para los usuarios copiar pegar, ya que son propensos a hacer, fue una edición que vale la pena. – DrCord

+0

@DrCord Aun así, la primera oración no debería estar aquí. – ace

Cuestiones relacionadas