Я пытаюсь использовать виджет Kartik Select2 для моего проекта Yii2.
Я воспользуюсь поиском Ajax Loading and everithing works, но если я установлю опцию множественного выбора, это выдаст мне эту ошибку.
Предупреждение PHP - yii \ base \ ErrorException array_combine (): оба параметра
должно иметь равное количество элементов
Эта ошибка в Select2.php в этой строке
$this->data = $multiple ? array_combine((array)$key, (array)$val) : [$key => $val];
Я думаю, это потому, что атрибут данных отсутствует, но если я добавлю атрибут данных, ajax не будет работать правильно.
Это мой взгляд:
$form->field($model, 'lista_art')->widget(Select2::classname(), [
'initValueText' => "", // set the initial display text
//'data' => '',
'options' => ['placeholder' => 'Select a color ...',
//'multiple' =>true, // error here
],
'pluginOptions' => [
'tags' => true,
'tokenSeparators' => [',', ' '],
'allowClear' => true,
'minimumInputLength' => 3,
'language' => [
'errorLoading' => new JsExpression("function () { return 'Waiting for results...'; }"),
],
'ajax' => [
'url' => \yii\helpers\Url::to(['lista-articoli']),
'dataType' => 'json',
'data' => new JsExpression('function(params) { return {q:params.term}; }')
],
'escapeMarkup' => new JsExpression('function (markup) { console.log(markup);return markup; }'),
'templateResult' => new JsExpression('function(lista_art) { return lista_art.art_modello; }'),
'templateSelection' => new JsExpression('function (lista_art) { return lista_art.art_modello; }'),
],
]);
Также пытался вставить несколько опций в массив 'pluginOptions', но не работает.
Можно ли использовать несколько опций с Ajax Loading?
P.s. Я проверил свою панель инструментов разработчика, и ответ правильный, и дает мне то, что я ожидал.