Javascript 在ng重复之后,我需要分离并获取一个元素';id';
我想获取我点击回复的评论的“id”,并将其存储起来,用于Ajax调用。目前,我可以使用ng模型获取所有其他内容,但似乎我无法在隐藏输入中使用value=“{{this.id}}”策略来获取值,就像使用jquery一样Javascript 在ng重复之后,我需要分离并获取一个元素';id';,javascript,angularjs,ajax,Javascript,Angularjs,Ajax,我想获取我点击回复的评论的“id”,并将其存储起来,用于Ajax调用。目前,我可以使用ng模型获取所有其他内容,但似乎我无法在隐藏输入中使用value=“{{this.id}}”策略来获取值,就像使用jquery一样 <script type="text/ng-template" id="comments-temp"> <div> <ul class="comments" ng-repeat="comment in ctrl.comments">
<script type="text/ng-template" id="comments-temp">
<div>
<ul class="comments" ng-repeat="comment in ctrl.comments">
<li>
<div class="comment" id="{{comment.id}}">
<div class="comment-author">
<a href="#" style="background-image: url('assets/img/tmp/agent-1.jpg');"></a>
</div><!-- /.comment-author -->
<div class="comment-content">
<div class="comment-meta">
<div class="comment-meta-author">
Posted by <a href="#">admin</a>
</div><!-- /.comment-meta-author -->
<div class="comment-meta-reply">
<a href="#" ng-click="showPanel = true">Reply</a>
</div>
<div class="comment-meta-date">
<i class="fa fa-calendar"></i><span>{{comment.dateAdded | date: 'medium'}}</span>
</div>
</div><!-- /.comment -->
<div class="comment-body">
<div class="comment-item" id="commentTitle">
<h6>{{comment.title}}</h6>
</div>
{{comment.body}}
</div><!-- /.comment-body -->
</div><!-- /.comment-content -->
</div><!-- /.comment -->
<panel ng-show="showPanel">
<div class="comment-create" ng-model="ctrl.reply">
<form method="post" action="?">
<div class="row">
<div class="col-sm-4">
<div class="form-group ">
<label>Title</label>
<input type="text" class="form-control" ng-model="ctrl.reply.title">
</div><!-- /.form-group -->
</div><!-- /.col-* -->
<div class="col-sm-4">
<div class="form-group hidden">
<label>Title</label>
<input type="text" class="form-control" ng-model="ctrl.reply.name">
</div><!-- /.form-group -->
</div><!-- /.col-* -->
<div class="col-sm-4">
<div class="form-group hidden">
<label>ParentId</label>
<input type="text" class="form-control" value="{{comment.id}}" ng-model="ctrl.reply.parentId">
</div><!-- /.form-group -->
</div><!-- /.col-* -->
</div><!-- /.row -->
<div class="form-group">
<label>Message</label>
<textarea class="form-control" rows="5" ng-model="ctrl.reply.body"></textarea>
</div><!-- /.form-group -->
<div class="form-group-btn">
<button type="button" ng-click="ctrl.replyComment(ctrl.reply); showPanel = false;" class="btn btn-primary pull-right">Post Reply</button>
</div><!-- /.form-group-btn -->
</form>
</div>
</panel>
<div style="height:35px"></div>
</li>
</ul>
</div> <!--comment temp end-->
-
邮寄人
{{comment.dateAdded}date:'medium'}
{{comment.title}
{{comment.body}
标题
标题
父ID
消息
回复后
我希望我已经说清楚了。我想要的是:
<script>
function _replyComment(data){
vm.commentData = data;
vm.commentData.blogId = vm.blogId;
vm.commentData.userId = page.currentUserId;
vm.commentData.typeId = 1;
vm.commentData.parentID = //??????? where I want the value the id of the comment I'm replying too
console.log(vm.commentData);
comments.services.insert(data, _onSuccessComment, _onError);// my ajax is in a separate .js file. it's not important for this demo
}
</script>
函数_replyComment(数据){
vm.commentData=数据;
vm.commentData.blogId=vm.blogId;
vm.commentData.userId=page.currentUserId;
vm.commentData.typeId=1;
vm.commentData.parentID=/?????其中我想要的值也是我正在回复的注释的id
console.log(vm.commentData);
comments.services.insert(data,_onSuccessComment,_onError);//我的ajax在一个单独的.js文件中。这对于这个演示并不重要
}
在这之后,我当然必须弄清楚如何将回复适当地嵌套在DOM中。但这是另一天的问题。这就是Jquery比angular更容易实现的地方
谢谢 霍尔茨解决了这个问题。这可能是一个循环,但我创建了另一个只存储comment.id的单击。然后我创建了一个新的控制器变量,并将其放入我的_replyComment函数中
vm.getId = _getId;
vm.pId = null;
function _getId(data){
vm.pId = data
console.log(vm.pId)
}
function _replyComment(data){
vm.commentData = data;
vm.commentData.blogId = vm.blogId;
vm.commentData.userId = page.currentUserId;
vm.commentData.typeId = 1;
vm.commentData.parentId = vm.pId;
console.log(vm.commentData);
单击“回复”时,将该注释的id存储在控制器变量中,例如“ctrl.reply.id”,您能更明确一点吗?ng click=“ctrl.reply(数据);ctrl.reply.id=comment.id”?对不起,我不明白。我理解。非常感谢。