JQuery.tablesorter正在从同一个表中对同一列进行两次排序

时间:2014-04-15 12:38:53

标签: jquery jquery-ui-sortable

我有2个表“newsTable”和“eventsTable”。我想用jquery.sortable插件使它们可以排序,它的工作相当不错但是当我点击任意列时它的排序两次,所以实际上我得到了起始位置:/如何解决问题?为什么要对列进行两次排序?当我在页面中只有一个表时,我没有任何问题,现在我有2个并且出现了问题:(

<script>
$(document).ready(function() 
    { 
        $("#newsTable").tablesorter(); 
    } 
); 

$(document).ready(function() 
    { 
        $("#newsTable").tablesorter( {sortList: [[1,0]]} ); 
    } 
);

$(document).ready(function() { 
    $("table") 
    .tablesorter({widthFixed: true, widgets: ['zebra']}) 
    .tablesorterPager({container: $("#pager1")}); 
}); 

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

$(document).ready(function() 
    { 
        $("#eventsTable").tablesorter( {sortList: [[1,0]]} ); 
    } 
);

$(document).ready(function() { 
    $("table") 
    .tablesorter({widthFixed: true, widgets: ['zebra']}) 
    .tablesorterPager({container: $("#pager2")}); 
}); 
</script>

1 个答案:

答案 0 :(得分:0)

您要为两个表添加四次tablesorter,因此排序会发生四次。

尝试只调用$(document).ready()一次:

$(document).ready(function()
{
    $("#newsTable").tablesorter( 
    {
        widthFixed: true, 
        widgets: ['zebra'],
        sortList: [[1,0]]
    }).tablesorterPager(
    {
        container: $("#pager1"),
        size: 5
    }); 

    $("#eventsTable").tablesorter( 
    {
        widthFixed: true, 
        widgets: ['zebra'],
        sortList: [[1,0]]
    }).tablesorterPager(
    {
        container: $("#pager2"),
        size: 5
    }); 
});