Я нашел это. Кажется работает:
$.typeahead({
input: "#input",
order: "asc",
minLength: 1,
accent: true,searchOnFocus: true,
source: {
data: gares
},
cancelButton: false,
filter: function (item, displayKey) {
var queryArray = this.query.split(' ');
for (var i = 0, ii = queryArray.length; i < ii; ++i) {
if (displayKey.toLowerCase().includes(queryArray[i].toLowerCase())) {
}
else {return false;}
}
return true;
}
});
ОБНОВЛЕНИЕ: другое решение:
$.typeahead({
input: ".js-typeahead",
order: "asc",
template: "{{display}}",
correlativeTemplate: true,
minLength: 1,
source: {
data: street
}
});
ОБНОВЛЕНИЕ: работает с акцентом:
filter: function (item, displayKey) { var queryArray = this.query.split(' '); var aa=displayKey.toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""); for (var i = 0, ii = queryArray.length; i < ii; ++i) { var bb= queryArray[i].toLowerCase().normalize("NFD").replace(/[\u0300-\u036f]/g, ""); if (!aa.includes(bb)) {return false} } return true; }