Google Places Autocomplete - Wählen Sie das erste Ergebnis auf der Eingabetaste?
Ich bin mit einem Google Places Autocomplete und ich möchte einfach Sie zu wählen Sie das oberste Element in der Liste der Suchergebnisse, wenn Sie die enter-Taste gedrückt wird, wird in das Formularfeld und Vorschläge vorhanden sind. Ich weiß, das wurde vorher gefragt:
Google maps Places API V3 AutoVervollständigen - wählen Sie die erste option, geben Sie auf
Aber die Antworten, die in diesen Fragen scheinen nicht wirklich arbeitet, oder Sie befassen sich mit spezifischen Funktionen Hinzugefügt.
Es scheint auch wie etwas, das wie folgt funktionieren sollte (aber nicht):
$("input#autocomplete").keydown(function(e) {
if (e.which == 13) {
//if there are suggestions...
if ($(".pac-container .pac-item").length) {
//click on the first item in the list or simulate a down arrow key event
//it does get this far, but I can't find a way to actually select the item
$(".pac-container .pac-item:first").click();
} else {
//there are no suggestions
}
}
});
Anregungen würde sehr geschätzt werden!
Kommentar zu dem Problem
Sie hätten die Nutzung des google.maps.Orte.AutocompleteService Klasse und Lesen die AutocompletePrediction manuell: developers.google.com/maps/documentation/javascript/...
@Mubix akzeptierte Antwort auf die zweite Frage, die Sie im Zusammenhang mit abdeckt, was gebraucht zu sein scheint, mit der Zugabe von ein paar extra-Funktionen, die sich leicht abgestreift. Nach dieser demo, die ich gerade Gabel aus dem oben genannten tut er genau das: jsfiddle.net/Ut2U4/1
@CraigBlagg Dank! Ich habe die arbeiten schließlich. Nicht sicher, warum es nicht funktioniert hat das erste mal herum, aber die Neuerstellung line-by-line bekam das gewünschte Ergebnis!
Toll. Seltsam, es funktionierte nicht auf Anhieb (scheint zu funktionieren hier). Aber froh, dass es geklappt hat @NChase
@CraigBlagg, in Ihrer Probe (jsfiddle.net/Ut2U4/1), ist es notwendig, um sicherzustellen das 'keypress' - Ereignis wird aus dem Dokument entfernt, wenn 'focusout' ausgelöst wird (Zeile 14). Sonst, Sie befestigen Sie es auf das Dokument jedes mal, wenn Eingabe Fokus erhalten.
InformationsquelleAutor der Frage NChase | 2013-01-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin Umbuchung meine Antwort aus Google maps Places API V3 AutoVervollständigen - wählen Sie die erste option, geben Sie auf:
Scheint es, gibt es eine viel bessere und saubere Lösung: verwenden
google.maps.places.SearchBox
stattgoogle.maps.places.Autocomplete
.Ein code ist fast der gleiche, nur die erste von mehreren Orten. Nach dem drücken der Geben Sie die richtige Liste zurückgegeben - so läuft es out of the box und es gibt keine Notwendigkeit für hacks.
Siehe die Beispiel-HTML-Seite:
http://rawgithub.com/klokan/8408394/raw/5ab795fb36c67ad73c215269f61c7648633ae53e/places-enter-first-item.html
Den relevanten code-snippet:
Den kompletten Quellcode des Beispiels ist: https://gist.github.com/klokan/8408394
InformationsquelleAutor der Antwort Klokan Technologies
Habe ich gelesen das viele Antworten auf diese Frage, und der verlinkten Fragen' Antworten, so viele Male, bevor Sie ein finden, dass die beste Antwort ist diese eine (Nota: leider, es ist nicht die akzeptierte Antwort!).
Habe ich geändert 2 oder 3 Zeilen , um Sie in ein ready-to-use-Funktion, Sie können kopieren/einfügen in Ihren code und gelten für viele
input
Elemente, wenn nötig. Hier ist es:Verwendung:
InformationsquelleAutor der Antwort Basj
In meine Website erreichen Sie diese Funktionalität, die ich neeeded die jQuery-Simulation plugin (https://github.com/jquery/jquery-simulate) und befestigen Sie dann die Veranstaltung:
Das plugin simuliert die action, drücken Sie die-Taste und dann GEBEN Sie, GEBEN Sie sich selbst keine Arbeit und ich konnte nicht finden einen anderen Weg, um wählen Sie die erste option.
Hoffe, das hilft
InformationsquelleAutor der Antwort Mangiucugna
Funktionierende Lösung, die hört auf, wenn der Benutzer begonnen hat, navigieren Sie unten in der Liste mit der Tastatur anstatt der Auslösung der falschen navigation jedes mal
https://codepen.io/callam/pen/RgzxZB
Hier sind die wichtigen bits
InformationsquelleAutor der Antwort Callam
Dies ist, was ich getan habe, und es funktioniert:
HTML:
googleautocompletecustomized.js:
InformationsquelleAutor der Antwort Fronto
Dies ist der einfachste Weg, gelöst zu mir:
InformationsquelleAutor der Antwort Fillype Farias
Setzen Sie das input-element außerhalb des form-Elements. Füllen Sie das Formular mit javascript.
InformationsquelleAutor der Antwort Gustav
Habe ich einige Arbeit, um dieses und jetzt kann ich erzwingen, wählen Sie 1. option von google placces mit angular js und Winkel-AutoVervollständigen-Modul.
Dank kuhnza
mein code
Hier ist ein Plunker
Danke.
InformationsquelleAutor der Antwort Murali