我想使用angularjs获取div的文本。我有这个代码
<div ng-click="update()" id="myform.value">Here </div>
我的控制器就像这样
var myapp= angular.module("myapp",[]);
myapp.controller("HelloController",function($scope,$http){
$scope.myform ={};
function update()
{
// If i have a textbox i can get its value from below alert
alert($scope.myform.value);
}
});
任何人都可以向我推荐angularjs的任何好链接。我没有找到angularjs参考作为学习来源。
答案 0 :(得分:4)
你应该在函数中发送click事件,你的html代码应该是:
<div ng-click="update($event)" id="myform.value">Here </div>
你的更新函数应该有一个event参数,你可以从中获取div元素,然后从元素中获取文本,如下所示:
function update(event)
{
alert(event.target.innerHTML);
}
答案 1 :(得分:1)
我只是觉得我为以后所有关注这个问题的人准备了一个合适的答案。
每当你想要改变角度的dom元素时,你需要退后一步,再想一想你想要达到的目标。有可能你正在做一些拧干的事情(除非你在那里你应该处理链接功能)。
那么值的来源是什么,它不应该来自dom本身,它应该在你的控制器中,并使用ng-bind或{{}}表达式进入dom,如:
<div>{{ likeText }}</div>
现在,您可以在控制器中根据需要更改文本:
$scope.likeText = 'Like';
$scope.update = function() {
$scope.likeText = 'dislike';
}
对于角度教程,这里有一个很好的资源 - &gt; http://angular.codeschool.com/
答案 2 :(得分:0)
将您的功能重新定义为
$scope.update = function() {
alert($scope.myform.value);
}
更好的方法是使用ng-model https://docs.angularjs.org/api/ng/directive/ngModel
检查示例,这些文档可能有点罗嗦