Ошибка Kartik Select2 при попытке использовать его с ajax - PullRequest
0 голосов
/ 22 октября 2019

Я уже много раз использовал kartiks select2 с ajax. Теперь, когда я попытался реализовать это снова, эта ошибка выдается в консоли:

jquery.js:3850 Uncaught Error: Option 'ajax' is not allowed for Select2 when attached to a <select> element.

Других ошибок нет. Моя реализация выглядит так:

<?php
                echo $form->field($model, 'destination_from')->widget(Select2::class, [
                    'initValueText' => isset($_GET['MassManagementSearch']) ? $_GET['MassManagementSearch']['destination_from'] : [], // set the initial display text
                    'options' => [
                        'placeholder' => 'Destination from ...',
                        'multiple' => true
                    ],
                    'pluginOptions' => [
                        'allowClear' => true,
                        'minimumInputLength' => 3,
                        'language' => [
                            'errorLoading' => new JsExpression("function () { return 'Waiting for results...'; }"),
                        ],
                        'ajax' => [
                            'url' => \yii\helpers\Url::to(['destination-from']),
                            'dataType' => 'json',
                            'data' => new JsExpression('function(params) { return {q:params.term}; }')
                        ],
                        'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
                        'templateResult' => new JsExpression('function(city) { return city.text; }'),
                        'templateSelection' => new JsExpression('function (city) { return city.text; }'),
                    ],
                ]); ?>

РЕДАКТИРОВАТЬ Это моя select2 версия в composer.json:

"kartik-v/yii2-widget-select2": "@dev"
...