2017-02-22 58 views
0

我有这张桌子里面的表格,我需要,每次点击复选框发送一个AJAX帖子。 问题在于,AJAX帖子仅发送给第一个项目。每次单击checkboc时的AJAX帖子

我已经阅读了其中的其他问题,但我无法将自己的头围绕解决方案,因为它们都不是我的问题。

此外,所有这些是在我的Django/python应用程序,如果这可以有任何帮助。

谢谢!

我的表/表:

<form method="post" action="{% url 'myapp:ajax-function' %}"> 
    <table> 
    <tr> 
     <td> 
     Number: <input type="text" name="number" /> 
     </td> 
     <td> 
     Title: <input type="text" name="title" /> 
     </td> 
     <td> 
     Insert:<input id="check" type="checkbox" data-id={{ doc.id }} name="checkebox"/> 
     </td> 
    </tr> 
    </table> 
</form> 

我的AJAX:

$("#check").each(function(){ 
    $(this).on("click", function(){ 
     var checked = $('#check').val(); 
     var message_id = $('#check').attr('data-id'); 


     $.ajax({ 
       url : "{% url 'myapp:ajax-function' %}", 
       //async: false, 
       type : "POST", 
       data:{ 
       'csrftoken':getCookie('csrftoken'), 
       checked:checked, 
       message_id:message_id}, 

     success : function(result) { 
      console.log(result); // sanity check 

     }, 


     error : function(xhr,errmsg,err) { 
     console.log(xhr.status + ": " + xhr.responseText); 
     }, 

     }); 
    }); 

}); 

回答

2

元素ID必须occure一次。将类分配给您的复选框并更改选择:

Insert:<input class="check" type="checkbox" data-id={{ doc.id }} name="checkebox"/>

$(".check").each(function(){ 
//........