Я недавно экспериментировал с плагином TableSorter для jQuery. Я успешно запустил его и запустил один раз, и я очень впечатлен. Однако я попытался применить сортировщик таблиц к другой таблице, но столкнулся с некоторыми трудностями ...
В основном, таблица, вызывающая проблему, имеет <ul>
над ней, которая действует как набор вкладок для таблицы. поэтому, если вы щелкнете одну из этих вкладок, будет выполнен вызов AJAX, и таблица будет заполнена строками, соответствующими выбранной вкладке. При первоначальной загрузке страницы (т. Е. До нажатия на вкладку) функциональность табличного сортировщика работает точно так же, как и ожидалось.
Но если щелкнуть вкладку и заново заполнить таблицу, функциональность исчезает, что делает ее недоступной для сортировки. Даже если вы вернетесь к исходной вкладке, после нажатия на другую функциональность не вернется - единственный способ сделать это - физическое обновление страницы в браузере.
Я видел решение, которое похоже на мою проблему на этом сайте, и кто-то рекомендует использовать плагин jQuery, livequery. Я пробовал это, но безрезультатно: - (
Если у кого-то есть какие-либо предложения, я был бы очень признателен. Я могу опубликовать фрагменты кода, если это поможет (хотя я знаю, что код создания экземпляров для TableSorter хорош, поскольку он работает на таблицах без вкладок - так что это определенно не так!)
EDIT:
Как и требовалось, вот несколько фрагментов кода:
Сортируемая таблица - <table id="#sortableTable#">..</table>
, код экземпляра для сортировщика таблиц, который я использую:
$(document).ready(function()
{
$("#sortableTable").tablesorter(
{
headers: //disable any headers not worthy of sorting!
{
0: { sorter: false },
5: { sorter: false }
},
sortMultiSortKey: 'ctrlKey',
debug:true,
widgets: ['zebra']
});
});
И я попытался настроить livequery следующим образом:
$("#sortableTable").livequery(function(){
$(this).tablesorter();
});
Это не помогло, хотя ... Я не уверен, должен ли я использовать идентификатор таблицы с livequery, так как это нажатие на <ul>
, на которое я должен ответить, что, конечно, не является частью Сам стол. Я попробовал несколько вариантов в надежде, что один из них поможет, но безрезультатно: - (