使用angularJS获取值输入

时间:2016-01-13 11:33:33

标签: javascript angularjs

我必须使用AngularJS获取输入文本的值,但不使用Controller。 我怎么能得到这个价值? 我看到这个帖子,但使用.controller link post

3 个答案:

答案 0 :(得分:1)

您可以使用此代码,使用angular.element:

angular.element(document.querySelector('#your_input_tag_id')).val();

或者,简单的jQuery:

$('#your_input_tag_id').val();

答案 1 :(得分:0)

你应该在你的指令中执行你的DOM操作,而不是查询DOM中的元素(不是非常有角度的,请参阅我如何在AngularJS中思考“如果我有jQuery背景?)您可以在链接功能中使用该元素。

所以在你的myDirective中

return { link: function (scope, element, attr) { element.html('Hello world'); } }

如果你必须在指令之外执行查询,那么就可以在现代浏览器中使用querySelectorAll

angular.element(document.querySelectorAll("[my-directive]"));
$('#your_input_tag_id').val();

但是你需要使用jquery来支持IE8和后退

angular.element($("[my-directive]"));

答案 2 :(得分:0)

使您的输入成为模型,并且该值始终可用作模型

<input type="text" ng-model="myModelName">

然后您的值将作为myModelName

在模块范围内可用
console.log('value = ' + $scope.myModelName);

,如果你试图从模块或应用程序范围之外的其他地方获取值,那么你可能做错了而不是有角度的方式,最好是使用控制器或链接功能,即使它是主要的应用程序控制器或链接功能,你可以很好地回避任何不使用控制器的要求(这听起来像一个坏的或误解的要求)。