【问题标题】:AJAX post for each time a checkboc is clicked每次单击复选框时的 AJAX 帖子
【发布时间】:2017-07-12 16:11:44
【问题描述】:

我的表单中有这个项目表,我需要每次单击复选框发送 AJAX 帖子。 问题是 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);
         },

      });
  });

});

【问题讨论】:

    标签: jquery ajax post each


    【解决方案1】:

    元素 ID 只能出现一次。为您的复选框分配一个类并更改选择器:

     Insert:&lt;input class="check" type="checkbox" data-id={{ doc.id }} name="checkebox"/&gt;
      $(".check").each(function(){
    //........
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-01
      • 2023-02-02
      • 2012-12-28
      相关资源
      最近更新 更多