J'essaye de configurer Typeahead.js, pour employer comme caractéristique d'autosuggestion sur mon application de Laravel. Malheureusement, il ne renvoie aucun résultat, chaque fois.Typeahead et Laravel ne retournant aucun résultat
Je retourne les données à l'avance pour tirer parti du stockage local, donc il n'y a pas d'interrogation de la base de données dans mon instance.
Route:
Route::get('/', function() {
return view('welcome', ['treatments' => Treatment::orderBy('treatment')
->pluck('treatment', 'id')]);
});
vue Bienvenue:
const treatments = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: '{{$treatments}}'
});
$('#bloodhound').typeahead({
hint: true,
highlight: true,
minLength: 1
},
{
name: 'treatments',
source: treatments,
templates: {
empty: [
'<div class="list-group search-results-dropdown"><div class="list-group-item">Nothing found.</div></div>'
],
header: [
'<div class="list-group search-results-dropdown">'
]
}
}).on('typeahead:selected', function (evt, item) {
$('#bloodhound').text(item.id);
});
Champ de saisie:
<input type="search" name="treatment" id="bloodhound" class="form-control"
placeholder="Find a treatment" autocomplete="off" required>
sortie de $treatments
tableau:
local: '{"2":"Treatment 1"}'
La dernière partie du script, devrait entrer la valeur de la sélection (ID) dans le champ de saisie, mais malheureusement cela ne fonctionne pas non plus.
Merci beaucoup.
Merci pour votre réponse, ce qui évite les citations s'échappant produit maintenant quelque chose de plus significatif: local: « { "2": "1 traitement" }} 'Il ne peut toujours pas être trouvé quand je le recherche @u_mulder? – Ben
Supprime les guillemets simples du début et de la fin des 'traitements $ 'dans une vue. –
'local: {!! $ traitements !!} 'est ce que j'ai maintenant dans le script. Est-ce ce que vous vouliez dire @u_mulder? – Ben