2017-03-16 5 views
0

Ich habe Folgendes versucht, und ich bin nicht in der Lage, eine Übereinstimmung zu finden. Was mache ich falsch?Datatables Löschen einer Zeile, in der Spalte Wert entspricht etwas

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; 
       }); 

Was ich bekomme, ist ein verschachteltes leeres Array, das keine Werte darin zu haben scheint. Mein Endzweck ist es, eine Zeile zu löschen, in der eine Spaltenzelle (in diesem Fall 0) einem bestimmten Wert entspricht, aber ich denke, dass ich einen falschen Ansatz verwende. Vielen Dank im Voraus für Ihre Vorschläge. Datatablet Dokumentation: https://datatables.net/reference/type/row-selector

+0

Meinen Sie damit eine Spalte oder haben Sie eine Zelle in der Spalte 1 Zeile x bedeuten. – Bindrid

+0

Zelle in Spalte. Entschuldigung, ich habe meine Frage oben aktualisiert. – kratos

+0

Möchten Sie die Zelle ausblenden oder löschen und welche Version von Datentabelle verwenden Sie? – mmushtaq

Antwort

0

Wenn Ihr Ziel ist, die Zeile tatsächlich zu entfernen (Filter und Suche blendet einfach nur die übereinstimmenden Daten aus), kann die Logik unten ziemlich geradlinig sein. Ich benutze ein Textfeld, um einen Wert einzugeben, um aus der ersten Spalte herauszufahren. Wenn gefunden, entferne ich es.

Sehen Sie es hier arbeiten 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(); 
     }); 

     }); 
Verwandte Themen