CodeIgniter ajax帖子只工作一次


CodeIgniter ajax post only working once

你好,我正试图使用ajax post删除数据库中的一行,但问题是每加载一页,该行只删除一次。行从HTMLDOM中分离——我按下删除按钮的所有内容,但数据库只删除一条记录。每次按下删除按钮时,我都要删除数据库中的记录。我怎样才能做到这一点?

我的视图

<tbody id="tbody"><?php
    $count = 1;
    foreach($rows as $row):?>
        <tr>
            <td><?=$count?></td>
            <td><a href="basic_table.html#">
                <?=$row->FirstName." ".$row->LastName?></a>
            </td>                        
            <td class="hidden-phone"><?=$row->Email?></td>
            <td><?=$row->Password?></td>
            <td><span class="label label-warning label-mini">
                <?=date("m/d/Y", strtotime($row->Created))?></span>
            </td>
            <td>
                <button class="btn btn-success btn-xs">
                    <i class="fa fa-check"></i></button>
                    <button class="btn btn-primary btn-xs">
                    <i class="fa fa-pencil"></i>
                </button>
                <button id="delete" data-id="<?=$row->id?>" 
                    data-url="<?=base_url()?>" class="btn btn-danger 
                    btn-xs"><i class="fa fa-trash-o "></i>
                </button>
            </td>
        </tr><?php
        $count++;
    endforeach?>
</tbody>

脚本

$(document).ready(function()
{
$("#tbody").on('click','#delete', function()
{
    var id = $("#delete").data("id");
    var url = $("#delete").data("url");
    $.post(url + "users/delete", { id : id, cache: false } , function()
    {
    },"json");
    $(this).closest('tr').detach();
});
});

请提供代码点火器控制器脚本

您必须更改为锚点标记并添加preventDefault()以防止重新加载页面

$(document).ready(function(){
    $("#tbody").on('click','#delete', function(e){
        //You must add e.preventDefault() to avoid reloading page
        e.preventDefault();
        var id = $("#delete").data("id");
        var url = $("#delete").data("url");
        $.post(url + "users/delete", { id : id, cache: false } , function(){
        },"json");
        $(this).closest('tr').detach();
    });
});