Поиск документов Typeahead и Bloodhound Я не нашел что-то полезное, что я делаю неправильно, потому что я получаю предложения только при вводе первой буквы, но я продолжаю печатать слово, и оно не найдено. Я нашел способ читать JSON и фильтровать его на this question, но ничего больше. Кажется, что распознавание слов не работает должным образом. Пожалуйста, кто-то, у кого есть опыт работы с этим фрагментом, может просветить меня по тому, что мне не хватает.Использование typeahead и JSON работает только с первой буквой
JAVASCRIPT
var globalCats = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
prefetch: {
url: 'js/data.json',
filter: function (list) {
return $.map(list, function (item) {
return {
nombre: item.nombre,
id: item.id,
padre: item.padre
};
});
}
}
});
globalCats.initialize();
$('.typeahead').typeahead({
highlight: true
},
{
name: 'recomendaciones',
displayKey: 'nombre',
source: globalCats.ttAdapter(),
templates: {
empty: [
'<div class="card red white-text"><strong>No hay sugerencias para su búsqueda</strong></div>'
].join('\n'),
suggestion: Handlebars.compile('<div class="card"><a href="busqueda.php?catid={{id}}"><strong>{{nombre}}</strong> - Departamento {{padre}}</a></div>')
}
});
HTML
<form class="col s12 z-depth-1">
<div class="row">
<div class="col s12">
<p>Ingrese sus términos de búsqueda o de click en Solicitar Servicio para publicar su requerimiento en sus redes sociales.</p>
</div>
<div class="input-field col s12 m9">
<input id="buscador" type="text" placeholder="VEAMOS" class="typeahead">
</div>
</div>
</form>
JSON
[
{
"nombre": "Operadores de Taladradoras",
"id": 111454,
"padre": "Construcción"
},
{
"nombre": "Operadores de Maquinaria",
"id": 454654,
"padre": "Construcción"
},
{
"nombre": "Estilistas",
"id": 454678,
"padre": "Belleza"
}
]
Какую версию typeahead вы используете? – whipdancer
@whipdancer Версия 0.11.1 пакетный файл с Bloodhound –
Вам нужно использовать prefetch? вы можете использовать пульт вместо этого? – whipdancer