Ich versuche, die jQuery UI Autocomplete zu verwenden, und kann einfach nicht scheinen, zwei und zwei zusammen.jQuery UI AutoComplete Parsing Daten von Variable
Ich habe eine PHP-Seite, die für alle Json Datenanforderungen verwendet wird. Ich verwende eine switch-Anweisung, um zu bestimmen, welche Funktion ausgelöst wird, wenn eine Anfrage gemacht wird, und benutze post, um diese Daten an die php-Seite zu übergeben, dh; "AutoComplete" wird an die Seite übergeben, die sie anweist, eine bestimmte Tabelle aus meiner Datenbank abzurufen und sie dann in json zu codieren.
Die Daten sind wie folgt formatiert: ["1": "Email", "2": "Hosting"] und so weiter. Es gibt eine variable Anzahl von Elementen in den JSON-Daten, aber immer mit dem Schlüssel => Wert-Paar. Ich brauche den Schlüssel als Wert des Feldes und den Wert, der in der Autocomplete-Liste angezeigt werden soll. (Die Datenreihenfolge kann bei Bedarf umgekehrt werden, dies ist nur ein Beispiel).
Ich brauche oder möchte nicht, dass die Autocomplete-Funktion diese Datenbank jedes Mal trifft, wenn jemand einige Zeichen in das Feld eingibt. Daher versuche ich, nur eine statische Liste der für dieses Feld erforderlichen Optionen zu generieren ein JavaScript-Objekt zur Verwendung mit Autocomplete().
function myFunction (DataType, ID) {
$j.ajax({
type: 'POST',
cache: 'false',
url: 'json.php',
data: {jsonFunction:DataType},
success: function(data){
$j(ID).autocomplete({ source: [data] });
}
});
};
Die Funktion dann in meinem document.ready() Funktion aufgerufen wird:
myFunction ("AutoComplete", "input#Type");
Also, was ich brauche, ist in der Lage sein, eine Variable aus einem Ajax-Request kann, dass die automatische Vervollständigung als zum Erstellen Optionen. Ich kann einfach nicht herausfinden, wie ich das zur Arbeit bringen soll! Ich habe verschiedene Methoden ausprobiert, ohne Erfolg zu haben, einschließlich der Analyse der Daten mit mehreren Beispielen, die ich hier und anderswo gesehen habe. Die Dokumentation für die automatische Vervollständigung von ui besagt, dass Sie ein Array mit Schlüsselwertpaaren verwenden können, aber es mag meine Daten einfach nicht, egal wie formatiert sie ist.
Ich vermisse etwas offensichtlich, ich bin mir sicher.
Update, das wurde nie gelöst. Ich habe aufgegeben, das Autocomplete-jquery-ui-Stück zu verwenden, da ich es nicht richtig funktionieren konnte. Ich habe stattdessen auf eine programmatisch erzeugte Auswahlbox umgeschaltet. :( – Garrett