【发布时间】:2015-08-28 22:04:58
【问题描述】:
在一个简单的论坛应用程序中,我有一个包含多个帖子的主题页面。在每个帖子上都有像这样的小部件 div:
<ul>
<li>
<p id="plike_count{{post.id}}"> {{ post.likes }}</p>
</li>
<li>
{% if user.is_authenticated %}
<span data-type=" post" title="Like"> {% csrf_token %}
<i class="thumbs-up" id="likep" name="{{ post.id}}"> </i>
{% endif %}
</li>
</ul>
这里是 ajax Like sn-p,它应该捕获每个 Like 并更新 Like 计数:
$(function(){
$('#likep').click(function(){
$.ajax({
type: "POST",
url: "/forum/post/like/",
data: {
'post_id': $(this).attr('name'),
'csrfmiddlewaretoken': '{{csrf_token}}'
},
success: plikeSuccess,
dataType: 'html'
});
});
});
function plikeSuccess(data, textStatus, jqXHR)
{
$('#plike_count').html(data);
}
当只有一个帖子/div 可以使用但我不知道如何概括多个帖子的代码时,非常相似的 ajax 代码可以正常工作。
那么问题是如何在ajax中制作一个对应plike_count{{post.id}}的id呢?
我尝试过$('#plike_count'.conc(post_id)).html(data); 而不是$('#plike_count').html(data);,但没有成功。
【问题讨论】:
-
ID 必须是唯一的。你应该使用类。