JQuery TableSorter с номерами строк - PullRequest
7 голосов
/ 01 июля 2011

Я использую плагин jQuery Tablesorter 2.0 для обеспечения некоторых базовых функций сортировки таблиц.

В моей таблице я хотел бы иметь столбец для номера строки.Проблема в том, что плагин Tablesorter сортирует этот столбец со всем остальным.Я попытался установить атрибут «заголовки» для первого столбца, но это только удаляет возможность сортировки.Это не препятствует переупорядочению столбца при сортировке по другому столбцу.

Возможно ли использование списка номеров строк с этим плагином?Можете ли вы придумать способ обойти проблему?

Ответы [ 2 ]

12 голосов
/ 01 июля 2011

Похоже, вам нужно перенумеровать строки каждый раз, когда таблица сортируется. Попробуйте это (используйте это после того, как вы уже инициализировали tableSorter на своей таблице):

var table = $("#myTable");
table.bind("sortEnd",function() { 
    var i = 1;
    table.find("tr:gt(0)").each(function(){
        $(this).find("td:eq(0)").text(i);
        i++;
    });
}); 
0 голосов
/ 21 мая 2017

Я нашел решение об расположении порядковых чисел на основе кода @Chris Laplante. Решением является запуск триггера sortEnd только в первый раз, когда создается таблица. Поэтому я должен отредактировать исходный код. Необходимо учитывать при обновлении программного обеспечения TableSorter.

В файле jquery.tablesorter.js около строки 370 мы можем найти триггер:

// trigger sortend
setTimeout(function () {
    $(table).trigger("sortEnd");
}, 0);

Изменить на:

// trigger sortend
if (runonce == undefined){
    setTimeout(function () {
        $(table).trigger("sortEnd");
    }, 0);
    runonce = true;
}

и определите переменную runonce в некотором месте над функцией appendToTable:

var runonce;                
function appendToTable(table, cache) { ...

Вы можете проверить результат по: http://formulaeweb.es/resultados.php нажатию над "Puntos".

...