mrusklon
@mrusklon
Не получается? Яростно гугли!

Как в динамическую таблицу добавить нумерацию строк?

Использую jquery https://datatables.net/ , из БД вытягиваю таблицу , все замечательно , сделал фильтр неразборчивого поиска по колонкам , добавил саму функцию нумерации
function numeric() {
        $('.numeric').each(function (i) {
            $(this).text(i + 1);
        });
    }
$('.form-control').keyup(function () {
        numeric();
    });


.form-control - это класс инпута в котором происходит поиск , как только у нас фильтрация прошла , мы делаем нумерацию по новой. И все бы хорошо но оно падло работает неадекватно )))

попытаюсь объяснить, если я в неразборчивом поиске ввожу текст , находит нужный мне результат но не нумерует его пока я не продолжу вводить... похоже без видео не обьяснить))

https://youtu.be/_1Ft1jvH9io

как сделать нормальную нумерацию строк? Я думал сделать применении функции по времени через settimeout но это не подходит так как если будет 100500 записей , будет нагрузка большая на сайте , а еще конфликтует с некоторыми делами вне таблицы..
  • Вопрос задан
  • 694 просмотра
Решения вопроса 1
RAX7
@RAX7
Проще сделать как в документации написано, чем изобретать велосипед.
https://datatables.net/examples/api/counter_column...
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@choupa
Архитектор (обычный, который строит)
А по какому событию у вас вызывается фильтрация таблицы? Скорее всего у вас чехарда с очерёдностью вызовов функции numeric() и той, которая фильтрует таблицу. Поставьте на них точки останова, чтобы проследить очерёдность.

Завесьте их обе на keyup и вызывайте их явно одну за другой. Ну или какие-то флаги готовности фильтрации filterReady = true/false придумывайте или callback, чтобы numeriс() запускалась после её завершения.
Ответ написан
Ваш ответ на вопрос

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

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