Использование jQuery tableSorter для динамически модифицированной таблицы

StackOverflow https://stackoverflow.com/questions/247305

  •  05-07-2019
  •  | 
  •  

Вопрос

Я использую плагин jQuery tableSorter на странице.

К сожалению, сортируемая таблица динамически изменяется, и когда я сортирую после добавления элемента, элемент исчезает, восстанавливая таблицу до состояния, в котором она была при создании tableSorter.

Есть ли способ заставить tableSorter повторно сканировать страницу, чтобы эти новые элементы были отсортированы правильно?

Это было полезно?

Решение

Я полагаю, что вы можете запустить обновление, используя что-то вроде:

$(table).trigger("update")

Другие советы

Кажется, вы правы.

$(table).trigger("update");
$(table).trigger("appendCache");

делает свое дело.

Как примечание, API таблиц в какой-то момент изменился, поэтому изменились и эти вещи, а также привязка событий. Мое самое большое зависание было попытка выяснить, почему некоторые вещи работали, а другие нет, и это было из-за неправильной версии плагина, несмотря на отсутствие очевидных различий.

$ (таблица) .trigger (" update "); выдает ошибку

    Uncaught TypeError: Cannot read property 'rows' of undefined 

Итак, есть функция jquery .ajaxStop () , где вызывается tablesorter () . Не вызывайте сортировщик таблиц в .ready ()

    jQuery(document).ajaxStop(function(){
      jQuery("#table_name").tablesorter();
    })

который сделал работу

Для тех новичков, как я, которые сталкиваются с проблемой сортировки динамически генерируемых таблиц, вот решение. Ответ, приведенный ранее, верен, но где вы разместите эту команду?

$('#tableId').tablesorter().trigger('update');

Вам нужно разместить его, как только вы добавите данные в таблицу. Ex в моем случае

var tableData = "<thead><tr><th>Name</th><th>Age</th></thead><tbody><tr><td>Izaki</td><td>24</td><tr><tr><td>Serizawa</td><td>25</td></tr>";
$('#tableId').html('tableData');
$('#tableId').tablesorter().trigger('update');
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top