2016-05-09 5 views
0

Ich bin mit diesem api:Google Places API für JavaScript-Autovervollständigung auf Vorschläge beschränkt

google.maps.places.Autocomplete

Ich muß in der Lage sein, mein Textfeld zu beschränken, um nur die Ergebnisse durch die api, und nicht frei Text erlauben Auswahl.

Hier ist mein Code:

var ac = new google.maps.places.Autocomplete($('#txt').get(0)); 
ac.place_changed = function() { 
    // TODO: add code to verify address if required 
} 

Gibt es in der automatischen Vervollständigung, dies zu tun einige Einstellungen ...?

+0

eine Lösung wäre die erste Option als Standard wählen, wenn der Benutzer die Eingabetaste oder den Benutzer aus dem Eingabefeld heraus drücken –

+0

dies funktioniert nicht, wenn es kein Ergebnis in Autocomplete ... es führt immer noch zu den Müll Text im Suchfeld. .. –

Antwort

0

Ich habe es geschafft, eine Lösung zu finden, indem ich ein paar Dinge anwandte.

Vor allem die form Tag braucht onsubmit mit return:

<form action="..." method="get" onsubmit="return formSubmitted(this);"> 

2., die zur automatischen Vervollständigung eine Variable sollten (sagen wir ac_var) mit erworbenem Ortsdaten

ac.place_changed = function() { 
    var pl = ac.getPlace(); 
    var addr = pl.address_components; 
    ac_var = addr[0].long_name; 
} 

3., die Funktion in javascript:

function formSubmitted(frm) { 
    if (frm.txt.value == '' || ac_var == '') 
     return false; 

    return true; 
} 

Einige Überprüfungen auf dem addr[0].long_name, um zu überprüfen, dass es existiert oder nicht, sollten auch gut sein.

Verwandte Themen