如何在使用jQuery单击按钮后禁用它?
如何在单击每个按钮后禁用它,以及如何通过jQuery增加like计数器 我正在为每条评论构建一个“like”按钮,并使用jQuery将数据发布到PostsController。我为循环中的每个项目传递Id值@item.Id,并通过下面的jQuery代码处理Id如何在使用jQuery单击按钮后禁用它?,jquery,html,razor,Jquery,Html,Razor,如何在单击每个按钮后禁用它,以及如何通过jQuery增加like计数器 我正在为每条评论构建一个“like”按钮,并使用jQuery将数据发布到PostsController。我为循环中的每个项目传递Id值@item.Id,并通过下面的jQuery代码处理Id @foreach (var item in Model.PostComments) { <a id="@item.Id" href="#" class="btn-sm btn-success btn-like">&l
@foreach (var item in Model.PostComments)
{
<a id="@item.Id" href="#" class="btn-sm btn-success btn-like"><span class="glyphicon glyphicon-thumbs-up"></span></a>
<span id="commentcounter">@Model.CommentMetrics.Where(a => a.PostCommentId == item.Id).Sum(a => a.VoteValue)</span>
}
@foreach(Model.PostComments中的变量项)
{
@Model.CommentMetrics.Where(a=>a.PostCommentId==item.Id).Sum(a=>a.VoteValue)
}
jQuery代码是:
<script>
$(document).ready(function() {
$('a.btn-like').click(function(e) {
e.preventDefault();
$(this).attr("disabled", "disabled");
$('#commentcounter').text(function(i, oldVal) {
return parseInt(oldVal, 10) - 1;
})
$.ajax({
url: '@Url.Action("CommentUp", "Posts")',
data: {
id: this.id
}
});
});
});
</script>
$(文档).ready(函数(){
$('a.btn-like')。单击(函数(e){
e、 预防默认值();
$(此).attr(“已禁用”、“已禁用”);
$('#commentcounter').text(函数(i,oldVal){
返回parseInt(oldVal,10)-1;
})
$.ajax({
url:'@url.Action(“CommentUp”,“Posts”),
数据:{
id:这个是
}
});
});
});
使用$(this).prop(“disabled”,true)
禁用单击处理程序中的按钮
如何增加注释计数器
首先,如果commentcounter在循环中,它将获得相同的id,这将产生错误。您可以做一件事,用commentcounter id附加@item.id
,使其唯一,使其看起来像commentcounter 12,CommentCounter 23如果多个CommentCounter的@item.Id=12或23
等,现在将此代码写入增量
$('commentcounter'+e.target.id).text(parseInt($('commentcounter'+e.target.id).text())+1)
Jquery文档 属性与属性: 属性和属性之间的差异在特定情况下可能很重要 情况。在jQuery1.6之前,.attr()方法有时采用属性值 在检索某些属性时考虑,这可能会导致不一致 行为。从jQuery1.6开始,.prop()方法提供了一种显式 检索属性值,而.attr()检索属性 正式文件: 对于您的示例,您需要:
$(this).prop('disabled', true);
我使用了你的建议,效果很好,但如何为每个项目增加commentcounter?正好$(“#commentcounter”).text(odVal+1),请告诉我从哪里获得旧值?commentcounter在循环中,其id在每次迭代中都会更改。如何执行此操作?不要使用
attr
表示“已禁用”,请使用prop
。请看我这样写的@Model.CommentMetrics.Where(a=>a.PostCommentId==item.Id).Sum(a=>a.VoteValue)
而且它也不起作用,Jquery next comments删除href=
可能重复的我读过的这篇文章,我想使隐藏和切换回显示。