@AlexVoitenko

Как в select2 4 версии инициализировать ajax multiple селект исходными данными?

Вот код который при создании статьи блога позволяет выбрать теги с помощью Аякс запроса.
$(".ajax-tag-select").select2({
        ajax: {
            url: "http://127.0.0.1:8000/blog/tags_list/to_json",
            dataType: 'json',
            delay: 250,
            id: function(obj){ return obj.name; },
            data: function (params) {
                return {
                    q: params.term,
                };
            },
            processResults: function (data, page) {
                var response = JSON.parse(data);
                console.log(response);
                return {
                    results: response
                };
            },
            cache: true
        },
        escapeMarkup: function (markup) { return markup; },
        minimumInputLength: 1,
        maximumSelectionLength: 6,
        templateResult: formatRepo,
        templateSelection: formatRepoSelection,
    });

    function formatRepo (tag) {
        if (tag.loading) return tag.text;
        return '<span><img src="/media/' + tag.logo + '" class="tag-loaded"/>' + tag.name + '</span>';
    }

    function formatRepoSelection (tag) {
        if (tag.loading) return tag.text;
        if (tag) {
            var markup = '<span><img src="/media/' + tag.logo + '"class="tag-selected"/></span>';
        }
        return markup || tag.text;
    }

Нужно, чтобы на странице редактирования этой статьи select input был уже проинициализирован списком тегов, выбранных при создании. Формат списка тегов примерно такой:
var selectedTags = [{id:1, name: 'name1', logo:'path'}, {id:2, name: 'name2', logo:'path'} , ... ]

В гугле я нашел пример лишь для 3 версии с помощью метода initSelection, которий убрали в 4 версии. Как ето зделать в 4 вересии select2?
  • Вопрос задан
  • 1748 просмотров
Решения вопроса 1
alexey-m-ukolov
@alexey-m-ukolov Куратор тега JavaScript
When using Select2 with remote data, the HTML required for the select is the same as any other Select2. If you need to provide default selections, you just need to include an option for each selection that contains the value and text that should be displayed.

Документация
Пример
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы