jQuery AutoComplete Array Füllen
Ich versuche zu verwenden die jQuery-autocomplete-Funktion, und nach dem Lesen mehrerer Beiträge habe ich noch zwei Fragen:
1) ich habe AutoVervollständigen arbeiten mit dem code gepostet am Boden, aber ich brauche das array mit dem Titel "Daten" gefüllt werden aus unserer Datenbank. Ich habe versucht, verschiedene Methoden verwenden, um zu füllen diese per AJAX. Ich habe versucht, mit $.get und $.ajax. Was ist die korrekte syntax, um dies zu erreichen?
2) Dieses array wird groß sein, ich habe 60.000 plus Werten, wenn ich füllen Sie einfach das array einmal. Ich Frage mich, ob es möglich ist, um eine AJAX-Anfrage füllen Sie das array jedes mal, wenn der Benutzer eingibt einen neuen Brief? Ist dies besser zu tun, oder füllen Sie das array mit allen Werten auf einmal? Besser, die Steuern, die das system weniger?
//This code works
<script type="text/javascript">
$(document).ready(function(){
var data = "Facebook Gowalla Foursquare".split(" ");
$("#search_company").autocomplete(data);
});
</script>
//display company live search
echo('<form id="form" method="post" action="competitor_unlink.php" onsubmit="return">');
echo('Company: <input id="search_company"/>');
echo('<br/>');
echo('<button type="submit" value="Submit">Submit</button>');
echo('</form>');
Du musst angemeldet sein, um einen Kommentar abzugeben.
Blick auf diese demo - es ist, was Sie tun möchten (die Daten über ajax):
http://jqueryui.com/demos/autocomplete/#remote
Hier ist ein Beispiel, wie man eine URL angeben, die wird wieder die Ergebnisse aus der Datenbank als JSON unter Verwendung der jQuery-UI-autocomplete-plugin.
Autocomplete wird automatisch fügen Sie ein querystring-parameter mit der Bezeichnung "Begriff" an die URL, so dass Ihre Suche Seite müssen damit rechnen, dass. Nicht sicher, was server-Technologie, die Sie verwenden, aber da bin ich eine .NET Entwickler hier ist ein Beispiel in ASP.NET MVC 🙂
jQueryUIAutoCompleteItem ist nur ein Daten-container mit dem JSON-format, dass die autocomplete-plugin erwartet.
Ist richtig, dass die Zusendung der ganze 60.000,-und record-Liste auf dem client-Rechner klingt nicht nach der besten Lösung. Sie werden bemerken, dass Google zeigt Ihnen nur eine Handvoll der beliebtesten Spiele in seiner autocomplete, wie auf vielen anderen websites.
Könnte man kürzen Sie die Liste, indem er wartet, bis der Benutzer geben Sie zwei oder drei Buchstaben, anstatt die Suche auf dem ersten.
Könnten Sie tun, Seite chunking in der Liste (es geht durch verschiedene Namen). Das heißt, nur die top 10 oder 15 Spiele. Der Benutzer kann Holen Sie mehr der Liste durch scrollen oder durch klicken auf "Zeige Weitere Ergebnisse" link. Sie haben zu schreiben (oder suchen) den javascript-code für dieses, natürlich.
Vielleicht ist es ein bisschen spät zu diesem post, aber für andere, die ihn finden. Erstellt habe ich ein plugin für jquery und jqueryui AutoVervollständigen-Steuerelement, das funktioniert mit Foursquare. Lesen Sie den Beitrag und laden Sie das plugin auf Foursquare Autocomplete Plugin