jquery autocomplete auto-fill-Feld mit 1. Wert und highligh Teil Hinzugefügt
im mit jqueryui autocomplete plugin mit folgendem code
$(this).autocomplete({
source: function(request, response) {
$.ajax({ url: 'clinic/auto',
data: { 'term': this.term,'name': this.element.attr('complete')},
dataType: "json",
type: "POST",
success: function(data){
response(data);
}
});
},
minLength: 2
});
Diese Anzeige eine Liste aller Ergebnisse in einem dropdown-Menü.
meine Frage ist, wie bekomme ich es AutoVervollständigen arbeiten für u und markieren Sie den hinzugefügten Teil für einfacher?
habe ich es code ? oder es wird eine bereits bestehende option für die?
wenn ich den hv, es zu tun manuell, wie kann es getan werden ?
Beispiel pic:
Lösungen so weit:
Ich habe festgestellt, dass dies link und diesesehr nützlich sein (monkey-patching jquery-autocomplete) zu Bearbeiten styling ,aber immer noch nicht, was ich will..
- Ich glaube nicht, dass dieses plugin hat diese Funktion, aber es wäre schön es zu haben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider gibt es keine vorhandene option für Sie. Glücklicherweise gibt es eine ziemlich einfache Möglichkeit, es zu tun mit den Ereignissen geliefert mit JQuery Autocomplete. Überprüfen Sie heraus dieses JSFiddle: http://jsfiddle.net/RyTuV/133/
Als Sie feststellen, die maßgeblich code, den Sie hinzufügen möchten, verwendet die JQuery Autocomplete Open-Ereignis:
Durch dieses Ereignis ausgelöst werden, können Sie den text des ersten Elements in der Liste zu dem, was bereits geschrieben, in das Eingabefeld und markieren Sie dann aus, nachdem die Eingabe von text am Ende von den hinzugefügten text:
Verwenden Sie diese als Vorlage, könnte man loop durch die Elemente im Menü zu finden, das erste Spiel beginnt damit, dass sich die Eingabe von text, und verwenden Sie diese zu füllen und zu markieren, statt nur mit dem ersten Element.
uiAutocomplete
zu verwenden, so$(this).data("uiAutocomplete")
statt$(this).data("autocomplete")
inpt = $("#autocomplete")
sollte geändert werden, uminpt = $(this)
. Die#autocomplete
- id ist ein Artefakt aus der JSFiddle-BeispielMüssen Sie code, der es sich selbst, oder sehen, ob es eine andere autocomplete plugin, das dies tut.
Code it yourself Sie wird verweisen müssen die
Antwort
Ereignis, um die erste passende Ergebnis text, und platzieren Sie es in das Eingabefeld ein. Zum Bearbeiten des ausgewählten text finden Sie in diesem Beitrag: Die Auswahl von Teil-Zeichenfolge in ein Input-Feld mit jQueryFand die Antwort oben, aber es hat den dropdown aus jqueryUI also begann ich ein Skript für meine eigene. Und beschlossen, es hier zu posten. Arbeiten jsfiddle: https://jsfiddle.net/wb3kpxaj/
Code:
Funktioniert Super! Auf mobilen Geräten allerdings nicht so sehr. Das erste Element aus dem Menü wird automatisch ausgewählt, nachdem es zeigt sich für die erste Zeit.
Um dies zu vermeiden, kam ich mit dieser Lösung für mobile Geräte:
close
stattopen
- und ein click-Ereignis auf eine Schaltfläche (#zoominmap
) nach der Hervorhebung.Ich habe den ganzen code eingewickelt in dieses media query btw: