2010-07-25 19 views
7

mit CakePHP, habe ich select-Option Formularelement mit:Warum ist der erste Eintrag im Auswahlmenü immer leer?

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

Es schafft Auswahlbox, aber die erste Option ist immer leer.

Wie kann ich diese leere Option loswerden? Ich habe es geschafft, nichts mit showEmpty Option zu tun ...

bitte helfen .... : - ((

AKTUALISIERT:

cakephp Code

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

schafft nächste 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> 

was ist falsch, und warum habe ich leere el Gefühl ?!

+0

Hat '$ numeration' ein leeres Element? Machen Sie ein 'debug ', um sicher zu sein. –

+0

nein, Array Nummerierung wird erstellt, bevor ich das erste Element darin einfügen – user198003

+0

Hat das $ numberation Array tatsächlich ein Element 0? – Leo

Antwort

11

Es ist besser zu nutzen:

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

standardmäßig ist es ohne leeres Element. aber zu zwingen, sie verwenden voll

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

können Sie bitte überprüfen, ich aktualisierte meine Frage mit Beispiel .... – user198003

10

Gemäß der docs ist das dritte Argument das Standardelement, das ausgewählt werden soll. Wenn Sie nicht eine leere Option wollen Ihren Code erscheinen ändern:

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

CakePHP Kochbuch [ausgewählte Dokumentation] (http://book.cakephp.org/view/1430/select) – webkraller

2

Dies funktioniert unter 2,3:

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