Проблема с jquery tablesorter с динамическими добавленными строками
Привет, у меня проблема с динамически добавленными строками в jquery tablesorter,
Мне нужно добавить строку в начале таблицы, по умолчанию tablesorter работает нормально, но после добавления строки таблица сортируется только сортировки с использованием предыдущих строк, я имею в виду, что новая строка не включена в сортировку процесс, новая строка содержит некоторые, но не все поля, пустое решение?
Ответы
Ответ 1
Сайт tablesorter предлагает подробную информацию о том, как это сделать, по адресу: Добавление данных таблицы с помощью Ajax. Код воспроизводится ниже:
$(document).ready(function() {
$("table").tablesorter();
$("#ajax-append").click(function() {
$.get("assets/ajax-content.html", function(html) {
// append the "ajax'd" data to the table body
$("table tbody").append(html);
// let the plugin know that we made a update
// updateAll ensures sorting is updated as well
$("table").trigger("updateAll");
// set sorting column and direction, this will sort on the first and third column
var sorting = [[2, 1], [0, 0]];
// sort on the first column
$("table").trigger("sorton", [sorting]);
});
return false;
});
});
Ответ 2
Вы пытались отключить tablesorter и инициализировать новую сессию таблицы?
Поскольку tablesorter не знает, что вы добавили новые строки, почему бы не установить новый табличный указатель в таблице.
Ответ 3
Единственный способ заставить его работать - это восстановить всю таблицу (удалить ее и снова создать).
$(".resultTablePlaceholder").html('').html('<table id="resultTable">...</table>');
$("#resultTable").tablesorter();
Ответ 4
Эти строки отлично работали для меня. После назначения HTML просто запускается функция обновления таблицы.
$('#tblID').html(str);
$("#tblID").trigger("update");
где #tblID
- это идентификатор таблицы, а str
- это html строк таблицы, назначенных таблице.