Select2 Yii2 работа с атрибутом tags

163
09 марта 2019, 08:00

Всем привет. Подскажите пожалуйста как можно реализовать добавление новых элементов option в select. Меня интересует именно сохранение. Как это должно вгялядть на стороне сервера.

        echo $form->field($model, 'id_serial_number')->widget(Select2::classname(), [
        'options' => [
            'placeholder' => 'Поиск серийного номера ...',
            'id' => 'MySelecet2',
        ],
        'pluginOptions' => [
            'tags' => true,
            'allowClear' => true,
            'minimumInputLength' => 3,
            //'language' => 'ru',
            'language' => [
                'noResults' => new JsExpression('function () { return "<button type=\"button\" id=\"button\" class=\"btn btn btn-success btn-xs\" data-url=\"' . Url::to(['catalog_serial_number/ajax-create']) . '\">Добавить</button>"; }'),
            ],
            'ajax' => [
                'url' => Url::to(['catalog_serial_number/ajax-list']),
                'dataType' => 'json',
                'data' => new JsExpression('function(params) { return {q:params.term}; }'),
            ],
            'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
            'templateResult' => new JsExpression('function(name) { return name.text; }'),
            'templateSelection' => new JsExpression('function (name) { return name.text; }'),
        ],
    ]);

Есть такой код который формирует Select2. При попытки ввести какое либо значение происходит поиск значений через ajax на стороне сервера и при выборе этого значения тег option будет содержать параметр value с id элемента который был найден. Если значений не будет найдено будет происходить добавление нового тега option с параметром value которые были введены в input как мне определить на стороне сервера и обработать последующие сохранение данных? Если пользователь выберет какой либо элемент то валуе например будет содержать id 102 но не исключен и такой вариант что пользователь может просто ввести 102 и данные будут тогда в таком случае не коректны

READ ALSO
Проблема с четкостью изображения в canvas

Проблема с четкостью изображения в canvas

Впервые использую canvasПри загрузке туда изображения оно получается размытым

141
подсветить рамку поля при ошибке в валидации

подсветить рамку поля при ошибке в валидации

подскажите как подсветить рамку поля в красный цвет на 5 секунд, если в поле была допущена ошибка

154
Как сделать запись в колонку, при условии ее существования?

Как сделать запись в колонку, при условии ее существования?

Как сделать проверку в запросе, если колонка(поле) в таблице существует, тогда происходит запись в нееВот моя попытка:

161