hope_industries
hope_industries

Reputation: 473

CakePHP 2.0 Select form Multiple selected

I have have this dropdown menu where you can select multiple values. Now let's say I want to edit my info and make a dropdown menu with multiple selected values. Trying to figure out how it goes, but no results.

Let's say I have:

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

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

I've used this code, but nothing is selected.

Upvotes: 5

Views: 8234

Answers (2)

Nils
Nils

Reputation: 119

I'm creating the multi-select as follows in cakePHP 3.9:

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

instead of 'selected' it uses 'val' to pre-select: https://book.cakephp.org/3/en/views/helpers/form.html#creating-select-pickers

Just in case someone doesn't notice the version and gets stuck with the previous solution, like me :)

Upvotes: 0

hope_industries
hope_industries

Reputation: 473

Ok found a way, appearantly it needs to be like this:

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

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

Will output:

  • 1
  • 2
  • 3 checked
  • 4 checked

The $selected checks the index key of each element rather the value itself.

Upvotes: 7

Related Questions