.remove (). draw () делает переменные неопределенными? - PullRequest
0 голосов
/ 21 марта 2019

Я пытаюсь удалить строки с определенным атрибутом данных, но всегда есть несколько строк, которые остались

Я сузил его до самого .remove().draw() метода! Как странно это ?! Но, конечно же, если я добавлю .remove().draw(), все предупреждения после определенной точки станут недействительными или неопределенными

var table = $j('#table_view_subs').DataTable();   

table.rows().eq(0).filter(function(index) { 
  var row = table.row(index);
  var rowdata = row.data();
  alert(rowdata); //suddenly returns undefined

  var data = row.nodes().to$().data();
  alert(JSON.stringify(data)); //suddenly returns null

  var closesttr = table.row($(this).closest("tr").get(0));
  closesttr.remove().draw(); //if I comment this, all the alerts show the right info
});

Вы когда-нибудь видели это раньше? Что я могу делать не так?

РЕДАКТИРОВАТЬ: после @A. Комментарий Вольфа:

 var table = $j('#table_view_subs').DataTable();

 table.rows().every( function ( index, tableLoop, rowLoop ) {
    var row = table.row(index);
    var rowdata = row.data();
    alert(rowdata); //suddenly returns undefined
    var data = row.nodes().to$().data();
    alert(JSON.stringify(data)); //suddenly returns null

    var closesttr = table.row($(this).closest("tr").get(0));
    closesttr.remove(); //if I comment this, all the alerts show the right info
 });

 table.draw();

РЕДАКТИРОВАТЬ 2: использование фильтра другим способом возвращает Uncaught TypeError: table.rows(...).filter(...).remove is not a function

table.rows().filter(function(){
    return $(this).data('data-dynamic') === 'true';
}).remove();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...