2010-07-25 11 views
7

Utilizzando CakePHP, ho creato selezionare l'opzione-elemento del modulo con:Perché la prima voce del menu di selezione è sempre vuota?

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

casella di selezione Si crea, ma la prima opzione è sempre vuoto.

Come posso eliminare quell'opzione vuota? Non sono riuscito a fare qualsiasi cosa con showEmpty opzione ...

si prega di aiuto .... : - ((

aggiornamento:

codice cakephp

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

crea prossimo html :

cosa c'è che non va, e perché ho vuoto el ement ?!

+0

La 'numerazione $' ha un elemento vuoto? Fai un "debug" per essere sicuro. –

+0

no, la numerazione degli array viene creata appena prima di aggiungere il primo elemento in essa – user198003

+0

L'array $ numeration ha effettivamente un elemento 0? – Leo

risposta

11

E 'meglio usare:

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

Di default è senza elemento vuoto. ma per forzarlo utilizzare pienamente

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

puoi controllare, ho aggiornato la mia domanda con l'esempio .... – user198003

10

In base allo docs, il terzo argomento è l'elemento predefinito da selezionare. Se non si desidera un'opzione vuoto di apparire modificare il codice per:

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

Ricettario Cakephp [seleziona documentazione] (http://book.cakephp.org/view/1430/select) – webkraller

2

Questo funziona sotto 2.3:

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