Событие Datatables jQuery работает на второй странице, а не на отдыхеJquery

Программирование на jquery
Ответить
Anonymous
 Событие Datatables jQuery работает на второй странице, а не на отдыхе

Сообщение Anonymous »

Я создал следующее событие jQuery, которое на самом деле работает при разбивке по страницам на второй странице.

Однако он не срабатывает на третьей и остальных страницах, ошибок console.log нет.

Очевидно, проблема связана с реконструкцией DOM через DataTable. Параметры initComplete, которые, как я полагаю, применяются только для первой таблицы данных результатов, поэтому он вызывает мою функцию status_icons() только на второй странице результатов, а не на остальных.

Моя глобальная функция, которая запускает разбиение на страницы DataTable при событии клика

Код: Выделить всё

function status_icons() {

$('table tr').each(function() {
if ($(this).find('td').eq(0).text() == '1') {
$(this).find('td').eq(0).replaceWith('[i][/i]');
$(this).find('.btn-success').eq(0).prop("disabled", true);
$(this).find('.btn-success').eq(0).text('Paid');
} else {
$(this).find('td').eq(0).replaceWith('[i][/i]');
}
});
}
Вот как я создаю свою таблицу данных, вызывая вышеуказанную функцию для первой страницы результатов и остальных

Код: Выделить всё

setTimeout(function() {
$('#invoices-table').DataTable({
responsive: true,
columnDefs: [{ orderable: false, targets: [-1, -2, -3] }],
"lengthMenu": [
[100, 5, 25, 50, -1],
[100, 5, 25, 50, "All"]
],
dom: 'Bfrtip',

initComplete: function() {
status_icons() // it executes my function for the first page of results
var api = this.api();
// some irrelevant code that uses api and does not cause my issue
// ...

$('.paginate_button').on('click', function() {
status_icons(); // it executes for the second page but not for the rest
});

}
});
}, 3000);
Использование


https://cdn .datatables.net/1.10.10/js/jquery.dataTables.js


Подробнее здесь: https://stackoverflow.com/questions/442 ... ot-on-rest
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»