Почему первый пункт в меню выбора всегда пуст? - PullRequest
7 голосов
/ 25 июля 2010

Используя CakePHP, я создал элемент формы select-option с:

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

Создает поле выбора, но первая опция всегда пуста.

Как мне избавиться от этой пустой опции? Мне не удалось ничего сделать с опцией showEmpty ...

пожалуйста, помогите .... : - ((

ОБНОВЛЕНО:

код Cakephp

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

создает следующий 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>

что не так и почему у меня пустой элемент?!

Ответы [ 4 ]

11 голосов
/ 25 июля 2010

Лучше использовать:

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

По умолчанию это без пустого элемента. но чтобы заставить его полностью использовать

$this->Form->input('items', array('empty'=>false, 'options'=>$numeration));
11 голосов
/ 25 июля 2010

В соответствии с документами третий аргумент является элементом по умолчанию для выбора.Если вы не хотите, чтобы появлялась пустая опция, измените код на:

echo $form->select('items', $numeration , NULL, array('empty' => false));
3 голосов
/ 01 октября 2012

Это работает под 2.3:

$options = array('0'=>'Zero','1'=>'One');
echo $this->Form->select('field-name',$options,array('empty'=>false));
0 голосов
/ 04 февраля 2015

Я знаю, что это старый вопрос, но, если у вас проблемы с CakePHP 1.2 (да, я знаю, что использовать такую ​​старую версию - отстой), правильный путь:

$form->select(string $fieldName, array $options, mixed $selected, array $attributes, boolean $showEmpty)

http://book.cakephp.org/1.2/en/The-Manual/Core-Helpers/Form.html#select

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...