从textarea获取val()的角度方式

时间:2013-10-18 10:52:14

标签: angularjs

我创建了一个按钮,单击它时我想从textarea获取文本。这是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 个答案:

答案 0 :(得分:17)

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

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

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

演示 Fiddle

答案 1 :(得分:4)

Angular是双向数据绑定。设置ng-model将使用控制器变量

链接textarea值

在控制器端:

$scope.textArea = "";

在观点方面:

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

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

答案 2 :(得分:3)

您正在寻找ng-model

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

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

答案 3 :(得分:0)

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

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

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

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