#javascript #jquery #html #ajax
#javascript #jquery #HTML #ajax
Вопрос:
В настоящее время я использую сортировщик таблиц javascript с открытым исходным кодом: http://mottie.github.io/tablesorter/docs /
Проблема, с которой я сталкиваюсь, заключается в том, что я динамически добавляю таблицы на свою страницу в ответ на нажатие пользователем кнопки. Только самая последняя добавленная таблица становится сортируемой, а предыдущие таблицы больше не сортируются после добавления новой таблицы. В настоящее время у меня есть этот код в конце создания моей таблицы:
//Make table sortable
$(document).ready(function () {
$("#" thisTable.ID).tablesorter();
});
Я не понимаю, почему старые таблицы теряют сортируемость, если они не перезагружаются. Я только добавляю новую таблицу с другим идентификатором в ранее добавленную таблицу.
Ответ №1:
Вы можете изменить свой селектор на $('table')
, и это добавит сортировщик ко всем таблицам. Ваш текущий код будет выполняться только при загрузке страницы, поэтому вам придется выполнять $('table').tablesorter();
строку каждый раз, когда вы динамически добавляете новую таблицу (в обработчике нажатия кнопки).
Однако было бы лучше, если бы вы добавили класс, например, sortedTable
к каждой таблице, и создали свой селектор $('.sortedTable')
, а не просто $('table')
, потому что в какой-то момент вам может понадобиться таблица, которая не отсортирована, а первая версия всегда будет сортировать все таблицы. Вторая версия будет сортировать только те таблицы, которые вы явно помечаете как сортируемые.