【问题标题】:How to delete data from all the pages of the table using Datatable plugin如何使用 Datatable 插件从表的所有页面中删除数据
【发布时间】:2018-04-20 06:53:26
【问题描述】:

我有这张数据表,我正在使用 Datatable 插件,我想在单击按钮时清除它并用我从 ajax 获得的一些新值重新绘制它。问题是我无法从所有页面中删除数据。只有第一页的数据被清空。下面是我使用的代码..

$(document).ready(function(){
$.ajax({ 
    type: "POST", 
    url: "filename.php", 
    dataType: "JSON",
    data: {some_data},       
    success: function(data2)
    { 
        variable=data2;
                //console.log(data2);
        $('#table1').find('td').remove();
        $("#table1").find("tr:gt(0)").remove();
        var cr = data2.length;
                //console.log(cr);
        var i;
        for(i=0;i<cr;i++)
        {
         //Adding data to table here                                
        }
            }
        });//Ajax code ends here 
        });

控制台显示错误

table-datatables-managed.min.js:1 Uncaught ReferenceError: App is not defined 在 table-datatables-managed.min.js:1

请帮忙!

更新完整代码:

   $.ajax({ 
            type: "POST", 
            url: "getentryforhwtry.php", 
            dataType: "JSON",
            data: {deptselect_val:checkboxes2,
                    blckselect_val:checkboxes,
                    subblckselect_val:subblockcheckboxes,
                    subnetselect_val:ipcheckboxes,
                    filename_val:filename},      
            success: function(data2)
            { 
                variable=data2;
                console.log(data2);
                var otable=$('#table1').dataTable();
                otable.fnClearTable();

                /*$('#table1').find('td').remove();
                $("#table1").find("tr:gt(0)").remove();*/

                var cr = data2.length;
                console.log(cr);
                var i;
        for(i=0;i<cr;i++)
        {

        $('#table1 tr:last').after('<tr class=\'t1\'><td>'+data2[i].uname+'</td><td>'+data2[i].ccode+'</td><td>'+data2[i].roomno+'</td><td>'+data2[i].Sub_block+'</td><td>'+data2[i].ipv4+'</td><td>'+data2[i].ipv6+'</td><td>'+data2[i].jackno+'</td><td>'+data2[i].vlanid+'</td><td>'+data2[i].comments+'</td><td><a href=\"delete.php?uname='+data2[i].uname+'\"><input type=\'submit\' id=\'delete\' value=\'del\' class=\'btn btn-xs purple\' /></a><a href=\"edit.php?uname='+data2[i].uname+'\"><input type=\'submit\' id=\'edit\' value=\'edit\' class=\'btn btn-xs purple\' /></a><a href=\"view.php?uname='+data2[i].uname+'\"><input type=\'submit\' id=\'view\' value=\'view\' class=\'btn btn-xs purple\' /></a></td></tr>');                                      
                    }
            }
        });//Ajax code ends here 
        });

编辑:
解决了!!问题在于 jQuery 冲突,可以通过使用

来解决
jQuery.noConflict();

谢谢你。干杯!!

【问题讨论】:

    标签: javascript jquery datatable


    【解决方案1】:

    你可以使用函数

    dataTable.fnClearTable();
    

    它将清除表的 tbody,然后您可以将新行添加到数据表。

    文档链接是here

    更新

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

    【讨论】:

    • 它说:Uncaught TypeError: $(...).fnClearTable is not a function
    • 您使用的是哪个数据表库版本? @Mur2za_B
    • 另外请检查我的答案中的更新并尝试这种方式。 @Mur2za_B
    • 数据表 1.10.11 @Smit Raval
    • 更新后的答案给出以下错误:Uncaught TypeError: $(...).dataTable is not a function
    猜你喜欢
    • 1970-01-01
    • 2011-02-13
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-22
    相关资源
    最近更新 更多