繁体   English   中英

希望将Django Ajax重命名为“赞”按钮,但不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM