php - 通过ajax php删除行

标签 php jquery mysql ajax codeigniter

您好,我刚刚学习 codeigniter,这里我显示的是一个数据库,其中有几行。我用 ajax 做了一个删除功能,它有效,但它必须重新加载,所以当我点击删除时,数据被删除并且不必刷新。

      <tbody id="tbody">
           <?php
              $no = 1;
                  foreach ($temporary as $m) { ?>
                      <tr>
                        <input type="hidden"  class="form-control" name="id_service" value="<?php echo $m->id_service ?>">
                        <input type="hidden"  class="form-control" name="id_cs" value="<?php echo $m->id_cs ?>">
                        <input type="hidden"  class="form-control" name="jenis" value="<?php echo $m->jenis ?>">
                        <td>
                          <input type="hidden"  class="form-control" name="id_tmp" value="<?php echo $m->id_tmp ?>">
                          <input type="text"  class="form-control" name="" value="<?php echo $m->tracking_number ?>">
                        </td>
                         <td>
                          <button type="button" class="btn btn-danger" onclick="deletes(<?php echo $m->id_tmp;?>)">Delete</button>
                        </td>
                      </tr>
               <?php } ?>
        </tbody>

Ajax

function deletes(id){
if (confirm("Are you sure?")) {
    $.ajax({
       url: '<?php echo base_url();?>backend/inbound/del',
        type: 'post',
        data: {id_tmp:id},
        success: function () {
            alert('ok');
        },
        error: function () {
            alert('gagal');
        }
    });
} else {
    alert(id + " not deleted");
}
}

最佳答案

您可以使用 .closest() 获取更多详细信息的另一种方式 Click here

Php Code

<tbody id="tbody">
           <?php
              $no = 1;
                  foreach ($temporary as $m) { ?>
                      <tr class="jsRowDelete">
                        <input type="hidden"  class="form-control" name="id_service" value="<?php echo $m->id_service ?>">
                        <input type="hidden"  class="form-control" name="id_cs" value="<?php echo $m->id_cs ?>">
                        <input type="hidden"  class="form-control" name="jenis" value="<?php echo $m->jenis ?>">
                        <td>
                          <input type="hidden"  class="form-control" name="id_tmp" value="<?php echo $m->id_tmp ?>">
                          <input type="text"  class="form-control" name="" value="<?php echo $m->tracking_number ?>">
                        </td>
                         <td>
                          <button type="button" class="btn btn-danger" onclick="deletes(<?php echo $m->id_tmp;?>,this)">Delete</button>
                        </td>
                      </tr>
               <?php } ?>
        </tbody>

Jquery Code

function deletes(id,oElem) {    
    if (confirm("Are you sure?")) {
        $.ajax({
            url: '<?php echo base_url();?>backend/inbound/del',
            type: 'post',
            data: {
                id_tmp: id
            },
            success: function() {
                //alert('ok');
                    console.log($(oElem).closest(".jsRowDelete"));
                   $(oElem).closest(".jsRowDelete").remove();

                //or

               //$(oElem).closest("tr").remove();
            },
            error: function() {
                alert('gagal');
            }
        });
    } else {
        alert(id + " not deleted");
    }
}

您可以查看工作示例 click here

关于php - 通过ajax php删除行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58869462/

相关文章:

php - Kohana 3 - 获取 orm 验证错误

php - 如何根据数据库查询加载特定文件/url

php - 在结果中按特定单词选择和分组 MySQL 列

javascript - 如何验证具有多个选项卡的表单?

mysql - SQL查询在一个日期之后返回数据。日期设置为 varchar

php - 按日期对数组排序

php - Laravel 路由到多域

javascript - 为什么 z-index 没有像我期望的那样工作?

javascript - 用于测试预加载器(带有图像和延迟)未正确延迟的 ASP.NET ASHX 处理程序

mysql - 为已安装的 rpm 添加别名