Задать вопрос
@betrachter

Как в Datatables запустить функцию при появлении определенного значения в ячейке?

Здравствуйте.
Вот мой скрипт:
$(document).ready(function () {
    var table = $('#table').DataTable({
        "order": [[0, 'desc']],
        "paging": false,
        "ajax": "data.php",
        "columnDefs": [
            {"targets": [0], "visible": false, "searchable": false, "sortable": false}, //Uid
            {"targets": [1], "visible": false, "searchable": false, "sortable": false}, //Seen
            {"className": "width150", "targets": [2], "visible": true, "searchable": false, "sortable": true} //Data
        ],
        "fnRowCallback": function (nRow, aData) {
            if (aData[1] == "0") {
                $('td', nRow).css('background-color', '#b8daff');
            }
        }
    });

setInterval(function () {
        table.ajax.reload(null, false);
    }, 20000);

Данные в таблице обновляются раз в 20 секунд. Как после обновления строк таблицы, если в колонке "Seen" хотя бы в одной ячейке значение равно "0", запустить определенную функцию?

Строк с нужным значением может быть сколь угодно много, но запустить функцию надо только один раз.
  • Вопрос задан
  • 165 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
neuotq
@neuotq
Прокрастинация
Есть метод columns().data() - позволяет получать данные в ячейках из выбранного(по селектору) столбца(ов). Для отдельного столба аналогичная функция
Там же в примерах есть вот этот код:
var table = $('#example').DataTable();
 
var idx = table
    .columns( '.check' )
    .data()
    .eq( 0 ) // Reduce the 2D array into a 1D array of data
    .indexOf( '0' ); //Ищем нолик
 
if ( idx === -1 ) {
    alert( 'Нолик не найден' );
}
else {
    alert( 'Нолик найден' );
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы