【问题标题】:CodeIgniter ajax post only working onceCodeIgniter ajax 帖子只工作一次
【发布时间】:2015-03-26 03:32:49
【问题描述】:

您好,我正在尝试使用 ajax post 删除数据库中的一行,但问题是该行在每次页面加载时仅被删除一次。该行从 HTML DOM 中分离出来,我按下删除按钮,但数据库只删除一条记录。每次按下删除按钮时,我都想删除数据库中的记录。我怎样才能做到这一点?

我的看法

<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();
});
});

【问题讨论】:

    标签: php ajax codeigniter


    【解决方案1】:

    请给出codeigniter控制器脚本

    您必须更改为锚标记并添加 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();
        });
    });
    

    【讨论】:

    • 非常感谢您解决了我的问题。抱歉,我没有发布控制器或模型的原因是因为我知道我的逻辑没问题。再次感谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 2016-05-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多