Reputation: 473
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
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
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:
The $selected checks the index key of each element rather the value itself.
Upvotes: 7