bon événement dans google places de saisie semi-automatique sélectionnez avec la souris
Je suis en utilisant google autocomplete api, tout comme dans les docs et il fonctionne
des beaux.
Toutefois, j'ai un formulaire avec ajax chaque fois qu'il change .
Il fonctionne très bien mais lorsque je utiliser la saisie semi-automatique pour l'emplacement avec le
de la souris (le choix d'un lieu avec un clic).
Il déclenche le onchange et soumet le formulaire avant de L'emplacement est fixé.
Comment puis-je bloquer ce comportement ?
Je veux dire soumettre après le clic de la souris sur la saisie semi-automatique.
Ici est un violon avec un exemple : http://jsfiddle.net/8GnZB/2/
$(document).ready(function () {
$location_input = $("#location");
var options = {
types: ['(cities)'],
componentRestrictions: {
country: 'be'
}
};
autocomplete = new
google.maps.places.Autocomplete($location_input.get(0), options);
$("#search_form input").change(function () {
var data = $("#search_form").serialize();
/* Serialize form & send it to the search view */
show_submit_data(data);
return false;
});
});
function show_submit_data(data) {
$("#result").html(data);
}
<script type="text/javascript"
src="https://maps.googleapis.com/maps/api/js?libraries=places&sensor=true"></script>
<form id="search_form" action="" method="post" >location :
<input id="location" name="location" type="text" />
<br/>data:
<input id="data" name="data" type="text" />
</form>Sent data :
<div id="result"></div>
La seule contourner, j'ai réussi à ce jour, est un timeout sur la change()
événement, mais elle est un peu laid.
OriginalL'auteur maazza | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
Pour résoudre votre problème, vous devez lier l'événement correct pour vos commentaires, n'oubliez pas que la bibliothèque ont leurs propres événements.
L'objet que vous utilisez la saisie semi-automatique
Maintenant, vous pouvez lier l'événement
place_changed
qui c'est déclencher quand vous en avez besoin, à ce stade, vous pouvez contrôler ce que vous avez besoin.Voici un exemple vivant
http://jsfiddle.net/8GnZB/7/
la saisie semi-automatique.getPlace() vous donnera également toutes les informations dont vous avez besoin sur l'emplacement choisi par l'utilisateur dans votre fonction de rappel
Merci. elle fonctionne.
Ici une autre fonction peut être utilisée pour obtenir les données sélectionnées
autocomplete.getPlace()
OriginalL'auteur Jorge
Pour résoudre ce problème ,vous devez ajouter un écouteur qui vous permet de sélectionner les endroits sur clic de souris.
Fonctionne parfaitement sur angular2+
Voici le code
Assurez-vous d'exécuter le code entier dans ngOnInit()
et aussi importer des ngZone de classe et de les déclarer dans le constructeur
sinon ngZone d'erreur s'affiche.
OriginalL'auteur Prince