Select2 восстановить цвет во время инициализации - PullRequest
0 голосов
/ 18 сентября 2018

Я использую Select2 и получаю с сервера какое-то значение. Когда пользователь изменяет значение, Select2 меняет цвет текста следующим образом:

 $("#idIuSelectCompany").select2({
        cache: true,
        tags: true,
        placeholder: "Inserire il nome dell'azienda",
        tokenSeparators: [','],
        ajax: {
            url: './../../back-end/switch-ajax-listening/switch-ajax-listening.php',
            type: "post",
            dataType: 'json',
            delay: 250,
            data: function (params)
            {
                return {
                    searchTerm: params.term, // search term
                    actionId: "getSelector",
                    jsonField: "idSelectCompany"
                };
            },
            processResults: function (response)
            {
                return {
                    results: response,
                    id: response.term,
                    text: response.term + " (new)",
                    newOption: true
                };
            },
        },
        createTag: function (params)
        {
            var term = $.trim(params.term);


            if (term === "-")
            {
                return {
                    id: term,
                    text: term,
                };
            }


            if (term === '')
            {
                return null;
            }
            //console.log(term.length);
            if (term.length > 50)
            {
                iuAlertError("The name company must be less than 50 char");
                return null;
            }
            return {
                id: term,
                text: term + ' (new)'
            };
        },
    }).on('change select2:close', function (e)
    {
        if(pageUpdate===true)
        {
            $(this).next('.select2-container').find('.select2-selection__rendered').text(function (idx, txt)
            {
                if (iuInputCompany.localeCompare(txt) !== 0)
                {
                    $(this).addClass('iuBlueColor');
                    return txt;
                }
                else
                {
                    $(this).removeClass('iuBlueColor');
                }
            })
        }
    });

Но мне нужно добавить новый Select2 во время выполнения или удалить. Для этого я вызываю после этих операций (добавление или удаление) эту инструкцию: $('select').select2();, чтобы инициализировать Select2, но я теряю цвет текста. У вас есть идеи, чтобы восстановить цвет?

...