2017-03-16 71 views
0

我试过以下,我无法找到匹配。我究竟做错了什么?Datatables删除行列值等于

var table = $('#mytable').DataTable(); 

//hide the row where text in column 1 equals 202733001010 
       var index = table.row().eq(0).filter(function (rowIdx) { 
        return table.cell(rowIdx, 0).data() === '202733001010' ? true : false; 
       }); 

我得到的是一个复杂的空数组,它似乎没有任何值。我的最终目的是删除一列行单元格(在这种情况下为0)等于某个值,但我想我可能会使用不正确的方法。非常感谢您的建议。数据表文档:https://datatables.net/reference/type/row-selector

+0

工作,你的意思是一列或你的意思是在第1列x行的单元格。 – Bindrid

+0

列中的单元格。对不起,我更新了我的问题。 – kratos

+0

您想要隐藏或删除单元格,以及您使用的是哪个版本的数据表格? – mmushtaq

回答

0

如果您的目标是实际删除该行(过滤器和搜索只隐藏/显示匹配的数据),则下面的逻辑可以非常简单地完成此操作。我使用一个文本框输入一个值,以便从第一列中跳出。如果找到了,我将它删除。

见这里http://live.datatables.net/natejiju/1/edit

$(document).ready(function() { 
    var table = $('#example').DataTable(); 
    $("#btnGo").on("click", function(){ 

     var s = $("#txtSearch").val(); 
     table.rows().nodes().each(function(a,b) { 
      if($(a).children().eq(0).text() == s){ 
       table.rows(a).remove(); 
      } 
      }); 


      table.rows().invalidate(); 
      table.draw(); 
     }); 

     });