2016-01-14 2 views
0

J'utilise cette http://jsfiddle.net/moinsam/SDPHm/light/ pour obtenir l'emplacement.Impossible d'obtenir la position sélectionnée dans le contrôleur

<input id="searchTextField" type="text" size="50" ng-model=show.location> 
<button class="button button-full button-assertive" ng-click="sendReshedule(show)">Reshedule</button> 
$scope.sendReshedule = function(data){ 
console.log(data); 
} 

Je recherche emplacement à l'aide de la zone de saisie et lorsque la liste apparaît je sélectionne un endroit Mais le problème est que la lettre que je tapé dans la zone de texte, je peux accéder à ce que dans le contrôleur, mais pas la réelle emplacement sélectionné. Je ne parviens pas à accéder à l'emplacement sélectionné.

Pour exemple. Je typé "cal" et j'obtenir une liste des suggestions.Now je sélectionne "Californie à Los Angeles". Cette sélection se affichage dans la zone d'entrée, mais quand je suis en train d'accéder au texte de la case d'entrée je ne reçois pas la pleine valeur, j'obtiens que « cal »

Répondre

1

une solution rapide est console.log(document.getElementById('searchTextField').value); garder vl recherche d'autres moyens.

Raison: se fixe angulaire show à ng-modèle alors show obtient valeur cal quand u type, mais quand google maps javascript met à jour sa valeur-à-dire california qui ne fait pas partie angulaire, angulaire ne sait pas qu'il a pour mettre à jour c'est show ng-valeur de modèle, donc vous l'obtenez comme cal, pour cela, nous utilisons $scope.$apply() cependant l'angulaire récente le fixe avec le correctif de singe.

essayer vl pour poster un morceau de travail de code, espérons que cette aide

autre moyen pour cela est de créer un élément personnalisé: working fiddle for this approach

+0

Merci beaucoup. –