CakePHP 2.0 Выбрать форму Несколько выбранных

Итак, у меня есть это выпадающее меню, где вы можете выбрать несколько значений. Теперь допустим, что я хочу отредактировать свою информацию и сделать выпадающее меню с несколькими выбранными значениями. Попытка выяснить, как это происходит, но безрезультатно.

Допустим, у меня есть:

$selected = array(3, 4);
$options = array(1,2,3,4);

echo $this->Form->select('Attendees', $options,array('multiple' => true, 'selected' => $selected));

Я использовал этот код, но ничего не выбрано.

2 ответа

Решение

Хорошо, нашел способ, по-видимому, это должно быть так:

$selected = array(2, 3);
$options = array(1, 2, 3, 4);

echo $this->Form->input('Attendees', array('multiple' => true, 'options' => $options, 'selected' => $selected));

Будет выводить:

  • 1
  • 2
  • 3 проверено
  • 4 проверено

$ Selected проверяет индексный ключ каждого элемента, а не само значение.

В cakePHP 3.9 я создаю множественный выбор следующим образом:

       echo $this->Form->input($tableName . '[' . $marker . ']', [
                'type' => 'select',
                'options' => $options,
                'val' => $selected,
                'multiple' => true,
                'id' => $tableName . '-' . $num,
            ]);

вместо «selected» для предварительного выбора используется «val»: https://book.cakephp.org/3/en/views/helpers/form.html#creating-select-pickers

На всякий случай, если кто-то не заметит версию и застрянет на предыдущем решении, как я :)

Другие вопросы по тегам