[英]Looking to rename Django Ajax “like” button, but not working
目前,我的按钮功能正常,但是我已经将其放置在django for循环中。 我想将js逻辑移到一个单独的文件中,但是首先我需要给它起一个更好的名字。 这是我的代码片段:
{% for post in posts %}
.....
<script type="text/javascript">
function toggleLike{{post.id}}(){
$.ajax({
url: "{% url 'photo_blog-post_like_api' post.id %}",
success: function(data) {
$("#likeCount{{post.id}}").html(data.like_count + ' likes');
$('#imageElement{{post.id}}').html(data.img);
}
});
};
</script>
<a id=imageElement{{post.id}} onclick="toggleLike{{post.id}}()"><img src="/media/nav_buttons/liked.svg" height="17" width="17"></a>
....
<post info here>
....
{% endfor %}
当我从函数名称中删除{{post.id}}并进行onclick调用时,该按钮仅对页面底部的帖子起作用。 所有其他按钮可切换该帖子的信息。 我如何给该功能起一个通用名称,但仍能与每个帖子唯一地交互?
无论如何,您不应将此操作作为名称的一部分。 帖子ID是一个参数。 唯一并置的部分是研究如何将其传递给Django URL标记
function toggleLike(post_id){
$.ajax({
url: "{% url 'photo_blog-post_like_api' "00000" %}".replace("00000", post_id)
success: function(data) {
$("#likeCount" + post_id).html(data.like_count + ' likes');
$('#imageElement' + post.id).html(data.img);
}
});
};
</script>
<a id=imageElement{{post.id}} onclick="toggleLike({{post.id}})"><img src="/media/nav_buttons/liked.svg" height="17" width="17">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.