Wie benutze ich ein jQuery autocomplete combobox mit AJAX-JSON-Daten?
Ich tun müssen, die folgenden mit einer combobox.
Select box
hat eine Standard-Liste von Städten, in denen der Benutzer suchen können.- Wenn ein Benutzer text in die
input
box, die ich brauche, um einen ajax-Aufruf zum abrufen von Daten und Anzeige-Optionen für den Benutzer. - Wenn Daten abgerufen wurde, für den Wunsch des Benutzers, jene Städte, die angehängt werden sollen, um die Optionen des
Select box
Mit jQuery autocomplete ich bin in der Lage, zum abrufen von json-Daten auf Benutzer, eine Zeichenfolge eingeben und die Ergebnisse anzeigen zu lassen. Allerdings bin ich ziemlich ratlos, wie integrieren Sie diese mithilfe der combobox.
Combobox verwendet eine statische Daten-array zu suchen und wenn verstehe ich das richtig, verwendet reguläre Ausdruck für die Werte. Jedoch, wie kann ich es unterbrechen und verwendet den ajax-Aufruf zum abrufen von Daten vom server, und aktualisieren Sie die Ergebnisse ?
AutoVervollständigen für Eingabe-Textfeld:
$( "#searchDestination" ).autocomplete({
delay: 500,
source: function( request, response ) {
$.ajax({
url: "/wah/destinationsJson.action",
dataType: "json",
data: {
term: request.term
},
type: "POST",
success: function(data){
if(data.cities.length == 0)
return response(["No matching cities found for " + request.term]);
response( $.map(data.cities, function(item){
return{
label: item.name,
value: item.name
};
})
);
}
});
},
minLength: 2
});
});
was macht Ihr autocomplete-source-Daten Aussehen?
Mein autocomplete für einfache input-text-Feld funktioniert gut mit JSON. (aktualisiert, meine Antwort wäre)
wenn Sie sagen, holte der Liste angehängt werden soll default-Liste, bedeutet das, dass Standard-Elemente immer sichtbar, oder werden Sie gefiltert, wie gut..basierend auf Benutzereingaben?
Die gefundenen Ergebnisse sollten angehängt werden, um die Menge der ursprünglichen Liste der Optionen. Auf der Grundlage der Benutzereingabe, nur diejenigen Optionen, die mit dem Kriterium sichtbar sein sollte.
Mein autocomplete für einfache input-text-Feld funktioniert gut mit JSON. (aktualisiert, meine Antwort wäre)
wenn Sie sagen, holte der Liste angehängt werden soll default-Liste, bedeutet das, dass Standard-Elemente immer sichtbar, oder werden Sie gefiltert, wie gut..basierend auf Benutzereingaben?
Die gefundenen Ergebnisse sollten angehängt werden, um die Menge der ursprünglichen Liste der Optionen. Auf der Grundlage der Benutzereingabe, nur diejenigen Optionen, die mit dem Kriterium sichtbar sein sollte.
InformationsquelleAutor brainydexter | 2012-05-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies kann dir helfen.. ein weiterer AutoVervollständigen - plugin, das ich verwendet.
Lesen Sie auch diese
Wenn Sie laden wollen, die Daten dynamisch in ein Textfeld eingefügt werden, gehen mit oben genannten plugin. Anders, wenn Sie wollen, gehen Sie mit der combo-box ist, dann einfach laden Sie die Daten über ready() und verwenden Sie jquery auto-complete-plugin!
Warum sollte es unbedingt Kombinationsfeld und warum nicht ein text-Feld?
Meine Forderung ist eine solche, die ich brauchen beide ein textfield, die funktioniert wie ein autocomplete basiert auf prefix matching-und eine combobox-ergibt, dass alle Optionen.
Kontroverse!! Dann müssen Sie zum anpassen des plugin und einen Weg finden, wo Sie können aktualisieren Sie die Optionen in der combo-box je nach Anforderung. Lassen Sie mich versuchen, ein wenig.
Gehen Sie zu diese Geige und prüfen.Hier denke ich, können Sie aktualisieren Sie die "availableTags" Variablen, die mit ur-eigenen jquery, ajax. Einen Versuch geben.
InformationsquelleAutor Jebin
Warum Sie nicht die doppelte plugins und zwei combo-Boxen.
Dann:
PHP-Datei (Dies basiert auf Codeigniter):
Hoffe, das hilft.
InformationsquelleAutor Dharmesh