Ich verwende diese ein:jQuery - Plugin zur automatischen Vervollständigung
https://github.com/agarzola/jQueryAutocompletePlugin
Das einzige Problem ist, dass, wenn Sie das erste Zeichen in das Eingabefeld eingeben, werden alle Begriff Vorschläge angezeigt werden, einschließlich der Bedingungen, die don Ich habe dieses Zeichen nicht.
Und erst nachdem Sie das 2. Zeichen eingegeben haben, verhält es sich normal und zeigt Tag-Vorschläge an, die nur diese 2 Zeichen enthalten.
Ich verwende diese Konfiguration:
$('input.autocomplete').autocomplete("localhost/boo/?get_suggestions=1", {
width: 250,
max: 100,
matchContains: true,
minChars: 1,
selectFirst: true,
cache: false,
multiple: true,
multipleSeparator: " "
});
Ist dies eine Abhilfe jemand wissen?
Auch wenn ich schreibe eine zufällige Zeichenfolge, die ich weiß, es ist nicht in der Liste, zum Beispiel. *&@FGBHFHBOFUBF*UB#
es wird wieder die gesamte Liste angezeigt :(
das Back-end:
if($_GET['get_suggestions']):
$terms = get_all_terms();
foreach ($terms as $term) echo $term['title']."\n";
die();
endif;
versuchen, "get_all_terms()" zu posten. Warum zögerst du, den Code zu posten? Außerdem, wenn Sie etwas eingeben, öffnen Sie die Entwickler-Tools (inspect Element in Chrome, oder installieren Sie die firebug ext in Firefox) und beobachten Sie die Xmlhttp Anfragen (in Chrom, klicken Sie auf das Symbol der Konsole und mit der rechten Maustaste, wählen Sie log xmlhttp Anforderungen). Prüfen Sie, ob bei der Eingabe von "a" das "a" und bei der Eingabe von "ac" das "ac" übergeben wird. Wie unten erwähnt, könnte es nur das "a" in "ac" und nichts in "a" – Jason
einreichen Quelle: Funktion (Anfrage, Antwort) {var filteredArray = $ .map (orignalArray, Funktion (Element) {if (item. value.startsWith (request.term)) {return item;} else {return null;}}); Antwort (gefiltertesArray); }, http://stackoverflow.com/questions/3148195/jquery-ui-autocomplete-use-startswith –