Select2 тоже ищет в атрибутах данных - PullRequest
0 голосов
/ 07 мая 2020

Я использую последнюю версию 4.0.12 Select2 .

Мой раскрывающийся список выглядит так:

<select id="langselect">
    <option data-lang="Английский">English</option>
    <option data-lang="Русский">Russian</option>
</select>

Я использую опцию matcher для поиск по первой букве:

function matchStart(term, text) {
    if (text.toUpperCase().indexOf(term.toUpperCase()) == 0) {
        return true;
    }
    return false;
}
$.fn.select2.amd.require(['select2/compat/matcher'], function(oldMatcher) {
    $("#langselect").select2({
        matcher: oldMatcher(matchStart),
    });
});

Мне нужно изменить функцию matchStart(), чтобы начать поиск по атрибутам data-*. Я пробую что-то вроде этого:

if ($(data.element).data('lang').toUpperCase().indexOf(term.toUpperCase()) == 0) {
    return true;
}

но у меня ошибка Cannot read property 'indexOf' of undefined.

Пожалуйста, помогите с этой ошибкой.

...