Comment appeler la fonction AngularJS à partir de select & gt; option
J'ai besoin d'appeler une AngularJS fonction de sélection:
<select ng-model="selection" >
<option onselect="angular.element(this).scope().functionCall('one')">one</option>
<option onselect="angular.element(this).scope().functionCall('two')">two</option>
<option onselect="angular.element(this).scope().functionCall('three')">three</option>
<option onselect="angular.element(this).scope().functionCall('four')">four</option>
</select>
Cependant, la fonction n'est jamais appelée.
Dans le contrôleur,
$scope.functionCall = function(value){
//do stuff with value
}
Comment puis-je appeler la fonction.
source d'informationauteur user3779089
Vous devez vous connecter pour publier un commentaire.
Il est recommandé que vous utilisez
ng-change
pour cette question, le résultat peut être le même que Cyril, mais le code est plus lisible et vérifiables, aussi il est considéré comme une meilleure pratique:Ici est un plunker montrant en action:
http://plnkr.co/edit/7GgwN9gr9qPDgAUs7XVx?p=preview
Et le code HTML:
Espère que ça aide. Merci.
Un Peu à ajouter sur Cyril et Fedaykin réponses:
Code HTML
Contrôleur De Code
Vous remarquerez que lorsque l'option sélection, est modifié, une fonction est appelée, ce qui donnera la vous la valeur du courant valeur sélectionnée.
Voici ce que vous pouvez faire :
HTML
YourController :
BTW: j'ai décidé de mettre les options dans le javascript, mais ce que vous n'avez marche aussi.
EDIT : ng-variation $watch, voir cette question
D'abord, onselect n'est pas un mot-clé angulaire, C'est normal javascript mot-clé
Vous devez utiliser ng-changer les param de sélectionner ou d'utiliser comme ci-dessous..,
Dans le code HTML que vous avez à l'utiliser comme ça.,
et dans le contrôleur