从页面删除db行而不刷新

时间:2017-11-12 19:20:24

标签: javascript php jquery ajax refresh

我有一个脚本从我的数据库中删除一行,它运行良好,但问题是我必须刷新页面才能看到更改,在客户端我有一个表显示所有行,如何如果没有刷新,我会从页面中动态删除tr,td吗?我希望js代码足够了。

JS:

$(".delete_button").click(function () {
    var delete_id = $(this).attr('name');
    $.ajax({
        type: "POST",
        url: 'delete.php',
        data: {
            'variable': delete_id
        },
        success: function (html) {
            alert(delete_id);
        }
    });
});

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到这一点

  1. 您应该跟踪要删除的记录的行,让我们说delete_id,我们将在下面执行此操作

    <tr id="delete_id"><td><a href="#">Delete Link</a></td></tr>

    然后在你的点击功能

    $ ( ".delete_button" ).click ( function () {
        var delete_id = $ ( this ).attr ( 'name' );
        $.ajax ( {
            type : "POST",
            url : 'delete.php',
            data : { 'variable' : delete_id },
            success : function ( html ) {
                $ ( "#" + delete_id ).remove ()
            } } );
    } );
    
  2. 不依赖于html结构跟踪它

    <tr id="delete_id"><td><a href="#">Delete Link</a></td></tr>

    JS

    $ ( ".delete_button" ).click ( function () {
        var delete_id = $ ( this ).attr ( 'name' );
        var anchorLink = $ ( this );
        $.ajax ( {
            type : "POST",
            url : 'delete.php',
            data : { 'variable' : delete_id },
            success : function ( html ) {
                anchorLink.parent ().prent ().remove ();
            } } );
    } );
    

答案 1 :(得分:1)

删除success处理程序中的行。这样的事情。

$(".delete_button").click(function(){
    var $this = $(this);
    var delete_id = $(this).attr('name');
    $.ajax({
        type: "POST",
        url: 'delete.php',
        data:{'variable': delete_id},
        success:function(html) {
        alert(delete_id);
        //now remove the row
        $this.parent('tr').remove();
        }
    });
});