Иван Светличный
5 повідомлень
#14 років тому
Есть такой плагин jQuery для сортировки, называется TableSorter

задача такая:
допустим пользователь зашел на страницу, где есть таблица, произвел сортировку по какому либо столбцу

далее пользователь пошел бродить по сайту, и в какой то момент нажал на ссылку, которая веден на страницу, где мы производили сортировку. И пользователь должен увидеть не заново загруженную таблицу, а отсортированную им же.

то есть при возврате на страницу (не кнопкой назад в браузере) должен сохранятся порядок сортировки.

Никто с таким не сталкивался?
Или может подскажет кто нить как сделать?

Я думаю хранить нужно в кукисах параметры сортировки, вот только вопрос где их найти это параметры и куда потом засунуть при повторной загрузке страницы.
Антон Е.
279 повідомлень
#14 років тому
Хранить точно в кукках нужно,а потом думаю нужно чуток модифицировать плагин,чтоб если есть куки сортировал сразу вот и все
Иван Светличный
5 повідомлень
#14 років тому
_VersouL_,
алгоритм то я представляю. но беда вся в том, что я не очень хорошо владею клиентскими технологиями, специалист по серверным разработкам, так что если у кого есть конкретные варианты, пожалуйста предлагайте
Виталий Я.
659 повідомлень
#14 років тому
isvetlichniy, допустим вы вызываете функцию sort в параметре onClick какогото обьекта .
Делаем вместо нее функцию sortAndSave - которая сразу записывает куки с параметрами сортировки а уже потом с этими параметрами вызывает сортировку.
Добавляем в конец таблицы вызов еще одной функции - checkAndSort - в которой смотрится , есть ли кук и соответственно вызывается(или нет) сортировка с нужными параметрами .

ВСЕ!
Иван Светличный
5 повідомлень
#14 років тому
Xazzzi,
так да не так
плагин jQuery для сортировки, называется TableSorter

$(document).ready(function(){
$("#table_id" ).tablesorter({
});

вот собственно и весь код, который позволяет сортировать таблицу простым щелчком на столбцах, ну и соответственно подключаемые библиотеки

никаких пользовательских функций я не использую
Константин Д.
390 повідомлень
#14 років тому
Может использовать другой плагин?
Антон Е.
279 повідомлень
#14 років тому
Функции добавляет сам плагин по ид или классам.
бегло смотря на это плагин я нашел функцию rebuil_table если не ошибаюсь он называется,она вызывается каждый раз после изменения порядка сортировки,вот в нее и нужно внести свои изменения,чтоб данные писались в ней в печеньки, а как сразу сортировать уже поищите сами.
ИМХО за время которое вы тратите на поиск решения,можно было-бы набросать свой плагин для этих целей
Антон Е.
279 повідомлень
#14 років тому
Isvetlichniy
вы же программист в чем проблема залезть в код расковырять его и переделать под свои нужды?
Роман П.
1599 повідомлень
#14 років тому
Цитата ("isvetlichniy"):
но беда вся в том, что я не очень хорошо владею клиентскими технологиям


заказывайте у других, этот ресурс для этого и предназначен - кто чего-то не умеет, заказывает у других.
Андрей Р.
58 повідомлень
#14 років тому
Мда, а на odesk, где у вас профиль написано: Web development: php,mysql,ajax,jquery,(x)html, css, WordPress,CMS - UkrMastersGroup - Programmer / Developer. :!:
Вообщем есть простое решение на YUI.
Идем сначала сюда:
Потом сюда:
и вуаля:
YAHOO.util.Event.addListener(window, "load", function() {
YAHOO.example.EnhanceFromMarkup = new function() {
var myColumnDefs = ;

this.parseNumberFromCurrency = function(sString) {
// Remove dollar sign and make it a float
return parseFloat(sString.substring(1));
};

this.myDataSource = new YAHOO.util.DataSource(YAHOO.util.Dom.get("accounts"));
this.myDataSource.responseType = YAHOO.util.DataSource.TYPE_HTMLTABLE;
this.myDataSource.responseSchema = {
fields:
};

this.myDataTable = new YAHOO.widget.DataTable("markup", myColumnDefs, this.myDataSource,
{caption:"Example: Progressively Enhanced Table from Markup",
sortedBy:{key:"due",dir:"asc"}} // здесь берем инфу из куки, так как написано во второй ссылке(конечно мы не забедм проверить их существование)
);
};
});