2017-08-15 2 views
0

Ich versuche eine Zeile zu markieren, wenn ein bestimmter Wert ein Fehler ist, aber stattdessen wird jede Zeile beim Mouseover hervorgehoben.Datatables - Zeile bei Mouseover markieren

Wo ist mein Fehler?

https://jsfiddle.net/p0np06mx/

$('#table1').DataTable({ 
     "bFilter" : false, 
     "ordering": true, 
     columnDefs: [{ 
     orderable: false, 
     targets: "no-sort"}], 
     "paging": false, 
     drawCallback: function (settings) { 
     $('#table1 tr').each(function() { 
      var Cell = $(this).find('td:eq(3)'); 
      debugger; 
      if (Cell.text() !== 'error') { 

       $(this).find('button').hide(); 
       $(this).find('textarea').hide(); 

      }else{ 

       $(this).parent().on('mouseover', 'tr', function() { 
        $(this).css('background-color', '#ff6900'); 

        $(this).bind("mouseout", function(){ 
         $(this).css('background-color', ''); 
        }); 

       }); 
      } 

     }); 
    } 

Antwort

2

fiddle, ersetzen Sie einfach

$(this) 

mit

cell 

Sie sicher, dass Sie auf dem richtigen Element weisen

0

Sie sollten die Abfrage mit der Maus darüber laufen. Jetzt führen Sie die Zellenabfragen direkt nach dem Zeichnen Ihrer Tabelle aus.