Как заставить matcher игнорировать диакритические знаки - JQUERY
Я пытаюсь заставить Typeahead работать с акцентами. Пока что нет сигар.
Файл typeahead.json содержит такие данные, как:{"0":"João","1":"Rogério","2":"Fábio"}
Код JQuery выглядит так:
$.getJSON('./banco/typeahead.json',function(data){
var substringMatcher=function(strs){
return function findMatches(q,cb){
var matches, substrRegex;
matches=[];
substrRegex=new RegExp(q,'i');
$.each(strs,function(i, str){
if(substrRegex.test(str)){
matches.push({value: str});
}
});
cb(matches);
};
};
var charMap={ "à": "a", "â": "a", "é": "e", "è": "e", "ê": "e", "ë": "e", "ï": "i", "î": "i", "ô": "o", "ö": "o", "û": "u", "ù": "u" };
var normalize = function(str){
$.each(charMap, function(chars, normalized){
var regex = new RegExp('[' + chars + ']', 'gi');
str = str.replace(regex, normalized);
});
return str;
}
var banco=normalize(data);
$('.typeahead').typeahead({
hint: true,
highlight: true,
minLength: 3,
//accentMap: charMap,
},{
name: 'banco',
displayKey: 'value',
source: substringMatcher(banco),
});
});
HTML / CSS не имеет никакого отношения в этом случае:
<input
class="typeahead tt-query"
type="text" autocomplete="off" spellcheck="false"
>
Спасибо за любые указания.