从Angularjs控制器的HTML输入元素中获取值

GCo*_*Coe 13 angularjs

我试图从Angular控制器中获取HTML元素的值.

   <div ng-app="myApp" ng-controller="myControler">
<br />

<input id="Text1" type="text"  runat="server" value="aValue" /
Run Code Online (Sandbox Code Playgroud)

我的控制器:

var myApp = angular.module('myApp', []);


myApp.controller("myControler", function ($scope, $document) {

    var name = angular.element($('#Text1')).val();
     console.log(name);

});
Run Code Online (Sandbox Code Playgroud)

但名称返回"未定义"...

拜托,我做错了什么?

Pre*_*oon 14

angular.element是jquery的别名$.

您可以像这样访问该元素: angular.element('#Text1').val();

ng-model是有角度的方式来做到这一点.您可以使用ng-init从ASP设置值

<input id="Text1" type="text"  runat="server" ng-model="inputVal" ng-init="inputVal='aVal'">
Run Code Online (Sandbox Code Playgroud)

这可以使用示波器从控制器访问 console.log($scope.inputVal);

JSfiddle示例:http://jsfiddle.net/n1oppeu2/


Ani*_*bhi 6

为什么你需要angular元素来访问表单元素?

您可以通过将模型绑定到它来获取和设置值

像这样

<input id="Text1" type="text"  runat="server" ng-model="input.field1" />
Run Code Online (Sandbox Code Playgroud)

调节器

$scope.input={
  field1:''
}
Run Code Online (Sandbox Code Playgroud)