用jquery选择django对象

时间:2013-10-05 12:56:34

标签: javascript jquery django django-templates

我仍然是网络发展的学生,所以请光临我。

我有一个模型的对象显示在模板中,带有for循环,如下所示:

{% for post in posts %}

 {{post.text}}

{% endfor %}

现在我想为每个包含post.id值的post对象附加一个按钮,并且在单击该按钮时应该发出一个更新该特定对象的vote属性的ajax请求。

所以,我尝试添加这样一个按钮:

{% for post in posts %}

     {{post.text}}

<input type="submit" value="V" id="upButton" post_id="{{post.id}}"></input>

    {% endfor %}

在ajax之前,我只是想看看按钮是否正常工作,所以我尝试检查(使用jQuery),如果它提醒每个帖子的post.id值:

<script>
    $(document).ready(function(){
       $('#upButton').click(function(){
        var post_id = $('#upButton').attr('post_id');
        alert(post_id);
      });
    });
  </script>

只有第一个对象上的按钮正常工作。其他按钮不起作用。这里发生了什么事?关于将按钮附加到物体的这种方法的任何建议也会有所帮助。

干杯

1 个答案:

答案 0 :(得分:0)

每个html页面只能设置一次

id属性。

因此,javascript代码将始终仅引用第一个元素。

将其更改为:

<input type="submit" value="V" data-role="upButton" post_id="{{post.id}}"></input>

在javascript中:

<script>
    $(document).ready(function(){
       $('[data-role=upButton]').click(function(){
        var post_id = $(this).attr('post_id');
        alert(post_id);
      });
    });
  </script>

应该有效