2010-07-25 12 views
7

Korzystanie CakePHP, stworzyłem postać select-option elementu z:Dlaczego pierwszy element w menu wyboru jest zawsze pusty?

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

Stwarza to pole wyboru, ale pierwsza opcja jest zawsze pusty.

Jak mogę pozbyć się tej pustej opcji? Nie udało mi się zrobić coś z showEmpty opcji ...

proszę o pomoc .... : - ((

AKTUALIZACJA:

kod CakePHP

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

tworzy następny 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> 

co jest nie tak i dlaczego mam pusty el ement ?!

+0

Czy '$ numeracja' zawiera pusty element? Zrób 'debugowanie', aby być pewnym. –

+0

nop, numeracja tablic jest tworzona tuż przed dodaniem do niej pierwszego elementu – user198003

+0

Czy tablica numeracji faktycznie ma element 0? – Leo

Odpowiedz

11

Lepiej użyć:

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

Domyślnie jest to bez pustego elementu. ale zmusić go w pełni wykorzystać

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

czy możesz sprawdzić, czy zaktualizowałem moje pytanie przykładem ... – user198003

10

Zgodnie z docs trzecim argumentem jest element domyślny do wyboru. Jeśli nie chcesz pusty opcję pojawiać zmienić swój kod do:

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

Książka kucharska Cakephp [wybierz dokumentację] (http://book.cakephp.org/view/1430/select) – webkraller

2

ten działa pod 2.3:

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