2017-02-22 140 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(){ 
//........