在筛选结果TableSorter 2.0之后更新行号

时间:2014-03-21 14:08:46

标签: jquery

所以基本上我有一个计算结果的编号行。 (类似于excel中的行号),目前,它会在对表进行排序后对它们进行重新编号,但是在过滤表后我似乎无法使其工作。因此,如果它仅提取6-9的记录,则数字6-9仍然存在,而不是将其重新编号为1,2,3和4。

目前,这就是我所拥有的:

var table = $("#myTable");
table.bind("sortEnd",function() { 
    var i = 1;
    table.find("tr:gt(1)").each(function(){
        $(this).find("td:eq(0)").text(i);
        i++;
    });
}); 
table.bind("filterEnd",function() { 
    var i = 1;
    table.find("tr:gt(1)").each(function(){
        $(this).find("td:eq(0)").text(i);
        i++;
    });
}); 

使用表格:

 +===+=======+========+
 | # | Name  | Amount |
 +===+=======+========+
 | 1 | Item1 | 8934   |
 +===+=======+========+
 | 2 | Item2 | 8971   |
 +===+=======+========+
 | 3 | Item3 | 4891   |
 +===+=======+========+

如果我过滤金额< 5000,它出来:

 +===+=======+========+
 | # | Name  | Amount |
 +===+=======+========+
 | 3 | Item3 | 4891   |
 +===+=======+========+

我希望3改为1(就像它现在是列表中的第一项)。有什么建议?我一直在尝试使用filterEnd,但似乎无法让它工作。

1 个答案:

答案 0 :(得分:0)

分别使用jquery:

$("table").bind("filterEnd",function() {
    $("#myTable tbody tr:visible").each(function(index){
       $("td:first-child", $(this)).html(index+1);
    });
});