2017-03-01 34 views
0

我正在使用jQuery tablesorter插件排序我的表。正如你在這個fiddle中看到的那樣,可以用一個按鈕觸發排序重置。重置並重新啓動與jquery tablesorter列表col

$(function() { 
    $("table").tablesorter({ 
    sortInitialOrder: 'asc' 
    }); 
    $('button').click(function(){ 
    $('table').trigger('sortReset'); 
    return false; 
    }); 
}); 

我要的是點擊一個未排序的列將被sortInitialOrder屬性總是排序它在初始訂單中指定。例如,單擊重置,單擊表格標題,單擊重置,然後再次在同一個表格標題上。每次啓動一個新的排序時,順序方向應該保持不變,這在小提琴中不會發生。 tablesorter有一個名爲「sortRestart」的用例設置,但不幸的是(我不知道爲什麼),你不能手動觸發它。有誰知道如何解決我的問題?

回答

1

「鎖定訂單」選項可用於完成此操作,該操作記錄在here中。它被分開應用到每個應該鎖定的列標題。

它可以作爲HTML的一部分,一對夫婦的方式(我已經離開了,需要另一個文件的元數據方法)應用:

  • 使用數據屬性:<th data-lockedorder="asc">Last Name</th>

  • 使用類:<th class="lockedOrder-asc">Last Name</th>

或者排序順序可在的tablesorter代碼中被鎖定:

headers : { 
    0 : { lockedOrder: 'asc' } 
} 

這三種方法都在此fiddle,這是你進行一些調整證明。

+0

對不起,但這不是我所要求的。我不希望訂單被鎖定。當我點擊一個表頭時,表格應該像預期的那樣排序,首先點擊升序,然後點擊降序,等等。但每次當我點擊重置按鈕,然後在表頭上時,表格應該按升序排序,目前不起作用。 –

+0

如何使用'sortReset:true'選項。在列標題上單擊第三次將其重新置於未排序狀態,而不是使用重置按鈕。演示[這裏](https://jsfiddle.net/f2q100/ppkhedo2/7/) – lindon