Разное поведение у dropdownList

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
Аватара пользователя
Chelobaka
Сообщения: 126
Зарегистрирован: 2018.06.01, 09:54

Разное поведение у dropdownList

Сообщение Chelobaka » 2019.09.11, 15:06

Здравствуйте господа знатоки.
Возникла такая проблема:

Мне не ясно как установить selected значения.
Если аттрибут имеет имя _owners[] то значение не устанавливаются, если _owners то устанавливаются но в $_POST передаётся 1 значение вместо массива.
Какие данные должны быть в $model->_owners что можно было установить выбранные значения?

Код: Выделить всё


 
$options['class'] = 'selectpicker form-control';
$options['multiple'] = '';
    
$owners = Array ( [9] => 'Petya' [11] => 'Vasya' );
//$model->_owners = ['Petya', 'Vasya'];
//$model->_owners = [9, 11];

echo $form->field($model, '_owners[]')->dropDownList($owners, $options);
 

Аватара пользователя
Chelobaka
Сообщения: 126
Зарегистрирован: 2018.06.01, 09:54

Re: Разное поведение у dropdownList

Сообщение Chelobaka » 2019.09.11, 15:10

Ёма ё, $options['multiple'] = 'true'; Решает проблему но всё же остаётся не ясно почему не работает конструкция с _owners[], а только _owners

yiiliveext
Сообщения: 159
Зарегистрирован: 2019.08.13, 01:49

Re: Разное поведение у dropdownList

Сообщение yiiliveext » 2019.09.11, 15:26

Код: Выделить всё

$options['class'] = 'selectpicker form-control';
$options['multiple'] = true;
    
$owners = Array ( 9 => 'Petya', 11 => 'Vasya' );
$model->_owners = [9, 11];

echo $form->field($model, '_owners')->dropDownList($owners, $options);

yiiliveext
Сообщения: 159
Зарегистрирован: 2019.08.13, 01:49

Re: Разное поведение у dropdownList

Сообщение yiiliveext » 2019.09.11, 15:36

Chelobaka писал(а):
2019.09.11, 15:10
Ёма ё, $options['multiple'] = 'true'; Решает проблему но всё же остаётся не ясно почему не работает конструкция с _owners[], а только _owners

Код: Выделить всё

$options['class'] = 'selectpicker form-control';
$options['multiple'] = true;
    
$owners = Array ( 9 => 'Petya', 11 => 'Vasya' );
$model->_owners[] = [9, 11];

echo $form->field($model, '_owners[]')->dropDownList($owners, $options);

Ответить