1
回答
jQuery的插件dataTable如何删除全部记录?
科大讯飞通用文字识别100000次/天免费使用。立即申请   

    如下代码删除全部记录失败,例如,第一次弹框的值为25,控制台打印了25次,但第二次弹框的值为12,就是并没有删除全部记录。

 var totalNum = $('#sample_editable_2').dataTable().fnSettings().fnRecordsTotal();
 alert(totalNum);
 for(var i = 0; i < totalNum; i++) {
    console.log(i);
    $('#sample_editable_2').dataTable().fnDeleteRow(i);  
 }
 alert($('#sample_editable_2').dataTable().fnSettings().fnRecordsTotal());
    是什么问题呢?

    希望知道站友能说说,先谢了。

举报
Benjaman
发帖于2年前 1回/97阅
共有1个答案 最后回答: 2年前

:)感觉是经典的list删除问题

假设datatable目前有3行,【1,2,3】,下标为0,1,2

那么按照你的循环: i ->0 : 2

i=0: 删,【1】,后剩下【2,3】,下标0,1; 然后i++

i=1: 删除【3】(3的下标为1),剩下【2】,然后i++

i=2,由于数组中没有下标为2的元素,不做任何事


删除最后数组剩下【2】 :)

你这里可以试试把循环换下方向 i->totalNum-1 : 0,然后挨个删试试

--- 共有 1 条评论 ---
Benjaman的确是这样,谢谢您。 2年前 回复
顶部