使用jquery刷新表而不通信数据库

时间:2012-05-11 19:44:58

标签: javascript jquery ajax servlets

我正在使用DataTable jquery api for gridview。我的样本在这里:

enter image description here

它在底部显示以下表格中的条目总数

Showing 1 to 10 of 10 entries

我使用jquery删除此gridview的代码/脚本如下:

$(document).ready(function()
{
    $('table#example td a.delete').click(function()
    {
        if (confirm("Are you sure you want to delete this row?"))
        {
            $getCode = $(this).parent().parent().attr('id');
            var parent = $(this).parent().parent();
            $.post("DeleteDepartment", {
                depID:$getCode                   
            }, function(data) {
                if(data.result >0){
                    parent.fadeOut('slow', function() {$(this).remove();});
                }else{
                    alert("Operation Fail");
                }
            });
        }
        else{
            $('div#feedback').html('<div class="cancel"><b>Operation Cancel</b></div>');

        }
    });
});

上面的代码成功地从网格视图中删除了记录。但它没有显示实际的总数。删除后的条目。

例如,表中当前有10条记录,它以下列格式显示在底部:

Showing 1 to 10 of 10 entries

当我删除一个条目时,它必须显示新的条目总数

Showing 1 to 9 of 9 entries (total entry decrease by one, on every deletion )

如何刷新表格,而无需通信数据库重置总条目数,显示每个删除的底部左侧

2 个答案:

答案 0 :(得分:0)

使用DataTable API删除行。

http://datatables.net/api

$(document).ready(function() {
  var oTable = $('#example').dataTable();

  // Immediately remove the first row
  oTable.fnDeleteRow( 0 );
} );

或在您的情况下,

oTable.fnDeleteRow( $(this).index() );

假设您为dataTable数据对象使用了相同的名称。

修改
更好的是:

oTable.fnDeleteRow( this );

答案 1 :(得分:0)

代码,点击持续“td” -

http://www.datatables.net/forums/discussion/comment/32737#Comment_32737


$("#ffetch tbody tr td:last-child").live('click', function(s) {
     var row = $(this).closest('tr');
     var nRow = row[0];
     $('#ffetch').dataTable().fnDeleteRow( nRow );
});