【问题标题】:How to remove deleted array ids from table on ajax response?如何从 ajax 响应的表中删除已删除的数组 ID?
【发布时间】:2021-11-11 22:09:18
【问题描述】:

我有一个带有复选框删除所有选项的表单,它可以很好地删除项目,但无法从 ajax 响应的表中删除已删除的项目。

如何从 ajax 响应的表中删除已删除的多个 id?

我已经搜索了所有网站,但没有真正的解决方案,我尝试了here 等中的所有最佳答案,但没有一个是正确答案。

注意:我可以用$("#"+id).closest('tr').remove(); 删除一个已删除的行,但不能删除多个。

我找到的最佳解决方案是location.reload();page,但如果重新加载页面,则不需要 ajax。

这是我的 ajax:

$(document).on('click','[data-bs-target="#deleteAll"]',function(event){
   event.preventDefault();
   var del = new Array();
   $("input[name='del[]']:checked").each(function(){
     del.push($(this).val());
   });
   var valid = false;
   if(confirm("Are you sure want to delete this User ? ")){
      $.ajax({
      url:"modules/mod_users.php",
      method:"POST",
      data:{del:del},
      dataType:"JSON",
         success:function(data){
           location.reload();
           valid = true;
         }
      });
   } else {
      return null;
   }
});

还有 php 部分:

if(isset($_POST['del'])) { 
  
  $error = '';

   $deleteAll = implode(', ', $_POST['del']);
   
   $stmt = $pdo->prepare('SELECT * FROM users WHERE user_id IN (' . $deleteAll . ')'); 
   $stmt->execute();
   while ($row = $stmt->fetch()) { 
      @unlink('../images/avatars/' . $row["img"]);
   }
   $stmt = $pdo->prepare('DELETE FROM users WHERE user_id IN (' . $deleteAll . ')');
   $stmt->execute(); 
   if ($stmt) { 
      $error .= "Deleted.";
   }else{
      $error .= "Opps something went wrong.";
   }

echo json_encode($error);
}

【问题讨论】:

    标签: php jquery ajax


    【解决方案1】:

    如果我理解正确,您想在 ajax 响应后删除所有选中的行?

    如果你这样做

    $("input[name='del[]']:checked").each(function(){
       del.push($(this).val());
    });
    

    你也可以在 ajax 响应中这样做

    ...
    success:function(data){
      $("input[name='del[]']:checked").each(function(){
        $(this).closest('tr').remove();
      });
    
      valid = true;
    }
    ...
    

    【讨论】:

      猜你喜欢
      • 2010-11-04
      • 1970-01-01
      • 1970-01-01
      • 2021-03-03
      • 1970-01-01
      • 2021-02-09
      • 2013-05-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多