J'essaie d'obtenir la valeur d'un élément HTML à partir du contrôleur angulaire.
<div ng-app="myApp" ng-controller="myControler">
<br />
<input id="Text1" type="text" runat="server" value="aValue" /
Mon contrôleur:
var myApp = angular.module('myApp', []);
myApp.controller("myControler", function ($scope, $document) {
var name = angular.element($('#Text1')).val();
console.log(name);
});
Mais le nom revient "non défini" ...
S'il te plaît, qu'est-ce que je fais mal?
angular.element
est un alias pour jquery $
.
Vous pouvez accéder à cet élément comme ceci: angular.element('#Text1').val();
ng-model
est le moyen angulaire de le faire cependant. Vous pouvez définir la valeur de ASP en utilisant ng-init
<input id="Text1" type="text" runat="server" ng-model="inputVal" ng-init="inputVal='aVal'">
Et cela peut être consulté à partir du contrôleur en utilisant la portée console.log($scope.inputVal);
Exemple JSfiddle: http://jsfiddle.net/n1oppeu2/
Pourquoi avez-vous besoin d'un élément angulaire pour accéder à un élément de formulaire?
Vous pouvez obtenir et définir une valeur en liant le modèle à celui-ci.
comme ça
<input id="Text1" type="text" runat="server" ng-model="input.field1" />
manette
$scope.input={
field1:''
}
Utilisation du sélecteur d'élément angulaire #
<input id="Text1" type="text" runat="server" value="aValue" />
console.log(angular.element('#Text1').val());
ou
console.log(angular.element('#Text1')[0].value);