2010-07-25 10 views
7

con CakePHP, he creado formulario-opción Seleccionar elemento con:¿Por qué el primer elemento del menú de selección está siempre vacío?

echo $form->select('items', $numeration , array('selected' => 0)); 

Se crea cuadro de selección, pero la primera opción es siempre vacío.

¿Cómo puedo deshacerme de esa opción vacía? No he conseguido hacer nada con showEmpty opción ...

favor ayuda .... : - ((

Actualizado:

código cakephp

echo $form->select('myOptions', array(1 => 'a', 2 => 'b', 3 => 'c'), array('empty'=>false)); 

crea siguiente html :

<select id="myOptions" name="data[myOptions]"> 
<option selected="selected" value=""></option> 
<option value="1">a</option> 
<option value="2">b</option> 
<option value="3">c</option> 
</select> 

lo que está mal, y ¿por qué tengo el el vacío ement ?!

+0

¿'$ numeration' tiene un elemento vacío? Haz una 'depuración' para estar seguro. –

+0

no, la numeración de la matriz se crea justo antes de agregar el primer elemento – user198003

+0

¿La matriz de numeración en realidad tiene un elemento 0? – Leo

Respuesta

11

Es mejor utilizar:

$this->Form->input('items', array('options'=>$numeration)); 

Por defecto es sin elemento vacío. pero para forzarlo utilizar plenamente

$this->Form->input('items', array('empty'=>false, 'options'=>$numeration)); 
+0

puede verificar, actualicé mi pregunta con el ejemplo .... – user198003

10

De acuerdo con docs, el tercer argumento es el elemento predeterminado que se seleccionará. Si no desea que una opción vacío a aparecer cambiar el código para:

echo $form->select('items', $numeration , NULL, array('empty' => false)); 
+0

CakePHP libro de cocina [seleccionar documentación] (http://book.cakephp.org/view/1430/select) – webkraller

2

Esto funciona bajo 2.3:

$options = array('0'=>'Zero','1'=>'One'); 
echo $this->Form->select('field-name',$options,array('empty'=>false)); 
Cuestiones relacionadas