zwischen remote und lokalen Quellen umschalten Ich habe mit jeder Einstellung herumgespielt, die ich mir vorstellen kann, zB .clear()
und .typeahead('destroy')
, und sobald ich die Quelle als Remote eingestellt habe kann ich nicht Machen Sie den Typahead eine lokale Quelle verwenden.Mit Typeahead.js/Bloodhound.js zwischen
Irgendwelche Gedanken?
Hier ist der Code unter dem onclick
aufgerufen wird:
var create_typeahead = function(is_remote, titles){
filters_typeahead.typeahead('destroy');
if(is_remote){
var remote_url = titles;
var titles = new Bloodhound({
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: remote_url,
q=%QUERY',
wildcard: '%QUERY'
}
});
}
else{
var titles0 = titles;
var titles = new Bloodhound({
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.whitespace,
local: titles0
});
}
titles.initialize();
filters_typeahead.typeahead({
highlight: true,
minLength: 2,
},
{
name: 'titles',
displayKey: 'name',
source: titles,
templates: {
suggestion: function(data) {
return '<div>' + data.name + '</div>';
}
}
});
};
Ich habe deine Frage falsch gelesen. Wechsel von Remote zu lokalen, nicht Remote-Quellen. Wenn Sie einen Grund haben, benutzen Sie nicht nur Remote oder lokal? Beide können mit einer Funktion zum Zurückgeben der Daten umgehen. – whipdancer
Ich habe mehrere typeaheads, zwischen denen ich hin- und herwechsle. –
Können Sie das etwas erweitern? Brauchst du Bluthund? Wenn Sie einfach Ihre Quelle für den Typehead als eine Funktion definieren können, dann können Sie damit umgehen, welche Daten (lokaler JSON, AJAX-Aufruf usw.) über diese Funktion erhalten. – whipdancer