Mit Google Maps Searchbox mit der automatischen Vervollständigung:Wie eingeben deaktivieren, wenn die automatische Vervollständigung Option nicht ausgewählt: Google Maps SearchBox
Wenn ein Benutzer einen Namen eingibt, die Ergebnisse zeigt, und drücken Sie die Eingabetaste, bevor ein tatsächliches Ergebnis der Auswahl der ‚places_matched‘ Das Ereignis wird weiterhin ausgelöst und die API wählt ein Ergebnis für sie aus.
Wie kann ich den Benutzer zwingen, ein Autocomplete-Ergebnis auszuwählen/hervorzuheben oder zumindest irgendwo zu erkennen, dass er tatsächlich kein Ergebnis ausgewählt und die Anfrage blockiert hat?
die jsfiddle Siehe hier: http://jsfiddle.net/4rs1mgno/2/
Im Texteingabe, geben Sie etwas, und drücken Sie die Eingabetaste. Ich tippe "Testen" und es gibt "BYU Testing Center" aus. Ich möchte nichts passieren, da sie eigentlich keine Option gewählt haben.
Hier ist der JS-Code von der Geige:
$(function(){
var input = document.getElementById('pac-input');
var options = {
keyword: 'establishment'
}
var searchBox = new google.maps.places.SearchBox(input, options);
searchBox.addListener('places_changed', function(evt) {
console.log('changed');
var places = searchBox.getPlaces();
if (places.length == 0) {
return;
}
places.forEach(function(place) {
$('#output').append(place['name']);
});
});
});
Dank!
Es gibt viele ähnliche Fragen hier auf SO, aber keine, die dem entsprechen.
Während dies (heute) arbeiten, ist es für eine Klasse beruht (die '.pac-item' ein), und wenn Google ändert ihre Klassennamen In der nächsten Version wird der Code nicht mehr funktionieren. – MrUpsidown