我创建了一个按钮,单击它时我想从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,我该怎么做?
答案 0 :(得分:17)
将ng-model
添加到文字区域,例如:
<textarea id="chatBox" class="chat-box" rows="2" ng-model="textModel"></textarea>
在控制器中写$scope.textModel = "";
演示 Fiddle
答案 1 :(得分:4)
Angular是双向数据绑定。设置ng-model
将使用控制器变量
在控制器端:
$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启用/禁用或显示/隐藏控制。在大多数情况下,这就足够了。