Я использую последнюю версию 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
.
Пожалуйста, помогите с этой ошибкой.