Nano Hash - криптовалюты, майнинг, программирование

Сортировка jQuery dataTable с загруженными данными ajax

У меня есть несколько строк, которые содержат некоторые лениво загруженные данные. Например,

    <table border="1">
      <tr>
          <th>Employee</th><th>Sales</th>
      </tr>
      <tr>
          <td>Michale</td><td>1000</td>
      </tr>
      <tr>
          <td>Kim</td><td id="kimSales"></td>
      </tr>
      <tr>
          <td>John</td><td id="johnSales"></td>
      </tr>
    </table>

Проблема в том, что мне нужно получить некоторые данные после загрузки страницы по некоторым причинам. Предположим, что kimSales — это 1500, а johnSales — это 2500.

<script>
    $(document).on('ready', function(e){
         $('#kimSales').text(1500);
         $('#johnSales').text(2500);
    })     
</script>

В этой ситуации я хочу правильно отсортировать лениво загруженные данные. Вы знаете, jQuery dataTable имеет функции сортировки по заголовку столбца, например https://datatables.net. правильно отсортировать эти данные. Отсортированные данные не восходят или dsc --- возможно, dataTable не может распознать после загрузки данных.

Что я пробовал:

<script>
    $(document).on('ready', function(e){
         $('#kimSales').text(1500);
         $('#johnSales').text(2500);
    })

    table.dataTable(); // not properly working
</script>

  • Можете ли вы правильно объяснить вопрос. В чем именно проблема? Значения не отображаются в таблице? 30.11.2017
  • @laiju Значения отображаются правильно, но я не мог отсортировать данные по возрастанию или убыванию, это не работает должным образом. 30.11.2017

Ответы:


1

Если вы обновите данные ячейки ДО инициализации таблицы, все должно работать правильно.

Также вы должны инициализировать таблицу в обработчике событий ready. Например:

$(document).on('ready', function(e){
     $('#kimSales').text(1500);
     $('#johnSales').text(2500);

     var table = $('#example').DataTable();
});

Если вы обновляете данные ячейки ПОСЛЕ инициализации таблицы, вам необходимо использовать cell().invalidate() метод API и перерисовать таблицу.

Например:

$(document).on('ready', function(e){
     var table = $('#example').DataTable();

     $('#kimSales').text(1500);
     table.cell($('#kimSales').closest('td')).invalidate();

     $('#johnSales').text(2500);
     table.cell($('#johnSales').closest('td')).invalidate();

     table.draw();
});
30.11.2017

2

Надеюсь, вы хотите добиться сортировки по второму столбцу. Попробуйте это в коде инициализации таблицы и с вашим предпочтительным методом сортировки [asc, desc]

 $('table').DataTable( {
        "order": [[ 1, "desc" ]]
    } );
30.11.2017
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..