select2 Добавить постоянную опцию

В настоящее время я использую Select2 в проекте и хотел бы добавить параметр в свой список выбора, который отображается независимо от того, что пользователь вводит или ищет. Идея состоит в том, чтобы опция «Добавить новую» всегда присутствовала в списке. Я не думаю, что мой код здесь нужен (но при необходимости я могу предоставить), поскольку единственное, чего мне не хватает знаний в этой конкретной теме, - это то, как всегда отображать опцию. Я думал об использовании атрибута matcher, но не знаю, как это сделать.


person Victor Lundgren    schedule 06.03.2016    source источник


Ответы (1)


Мне удалось сделать это, установив новый сопоставитель, проблема заключалась в том, что я не был уверен, как создать новый сопоставитель и по-прежнему использовать стандартный select2. Еще мне не хватало полной версии select2.

function newMatcher(term, text){
    //The "ADD NEW" String is the text in the option I want to always show up.
    //The code after OR looks for the actual results for the user's search
    if ((text.toUpperCase().indexOf("ADD NEW") > -1)
       || (text.toUpperCase().indexOf(term.toUpperCase()) > -1)) {
         return true;
    }
}
$(document).ready(function() {
    $.fn.select2.amd.require(['select2/compat/matcher'], function (oldMatcher) {
        $('select').select2({
            matcher: oldMatcher(newMatcher)
        })
    })
});

person Victor Lundgren    schedule 07.03.2016