2

我创建了一个按钮,单击它时我想从文本区域获取文本。这是html。

<div class="text-area-container">
    <textarea id="chatBox" class="chat-box" rows="2"></textarea>
</div>
<div class="button-container btn-group btn-group-chat">
    <input id="comment" ng-click="chat($event)" class="btn" value="Comment"/>
</div>

这是我的控制器

$scope.chat = function($event) {
    var button = $event.currentTarget;
};

我从 $event 中获取按钮,但是如何获取 textarea。我知道我可以 jQuery 它,但这不是 Angular 的方式。没有 jQuery 我该怎么做?

4

4 回答 4

17

添加ng-model到文本区域,例如:

<textarea id="chatBox" class="chat-box" rows="2" ng-model="textModel"></textarea>

在控制器中写入$scope.textModel = "";

演示Fiddle

于 2013-10-18T10:55:37.927 回答
4

Angular 是双向数据绑定。设置ng-model会将 textarea 值与控制器 var 链接起来。

在控制器方面:

$scope.textArea = "";

在视图方面:

<textarea [...] ng-model="textArea">[...]</textarea>

在您的控制器上,$scope.textArea 将始终包含 textarea 内容。

于 2013-10-18T10:58:39.917 回答
3

你正在寻找ng-model.

<textarea ng-model="text" id="chatBox" class="chat-box" rows="2"></textarea>

$scope.text在 js 或{{text}}视图中访问它。

于 2013-10-18T10:58:53.923 回答
0

好吧,如果您只需要知道文本区域的值,我想它应该通过 data-ng-model="MyTextValue" 绑定到某个 $scope 模型变量:

<textarea id="chatBox"  data-ng-model="MyTextValue" class="chat-box" rows="2">}</textarea>

所以在 $scope.chat 函数中你可以访问 $scope.MyTextValue。

您也可以通过 ng-* 属性启用/禁用或显示/隐藏控制。在大多数情况下,这就足够了。

于 2013-10-18T11:01:03.043 回答