2015-10-20 64 views
0

使用tablesorter沒有小部件,我可以在tablesorterPager中設置大小屬性,它運作良好:我可以動態更改表大小,使用具有多個值的下拉列表,但如果我刷新頁面,它會正確顯示使用size屬性設置的行數。但是,如果我使用小部件,則此行爲會發生變化:如果我動態選擇不同的頁大小,刷新頁面時不顯示默認行數。這隻會包括jquery.tablesorter.widgets.js文件,而沒有真正使用任何小部件。Tablesorter小部件打破分頁

以下是2個鏈接,顯示的行爲:

http://latoclient.it/file1.html

http://latoclient.it/file2.html

的2個文件是相同的:唯一的區別是,在file2.html我還包括了jQuery。 tablesorter.widgets.js文件。 我使用TableSorter(FORK)2.18.4,pager插件v2.21.0和tableSorter 2.16+小部件 - 2014年5月28日更新(v2.17.1),但我也嘗試過不同版本,結果是相同。

的JavaScript如下:

<script type="text/javascript"> 
$(function() { 
    $("table") 
     .tablesorter().tablesorterPager({ 
      container: $("#pager"), 
      size:5 
    }); 
}); 
</script> 

所以我真的不使用插件,但它只是包含提高的問題。

如果您在表格下方的下拉列表中選擇一個不同於5的值並使用F5刷新頁面,則file1.html將正確顯示5行,file2.html似乎將緩存先前選定的值。這對於我的目的來說是不可接受的行爲。

你能幫我解決這個問題嗎?

非常感謝。

回答

0

您看到的問題是因爲默認情況下尋呼機savePages option設置爲true

爲了使該選項按預期工作,您需要包含jquery.tablesorter.widgets.js文件中包含的存儲小部件。如果沒有存儲小部件,根據瀏覽器支持,尋呼機無法將最後一個用戶設置頁面保存到本地存儲和/或cookie中。

如果您不想在網頁「記住」最後一個用戶設置頁面大小,則該選項設置爲false

$(function() { 
    $("table") 
     .tablesorter().tablesorterPager({ 
      container: $("#pager"), 
      savePages: false, 
      size:5 
    }); 
}); 
+0

非常感謝您的回覆:它解決了我的問題。我正在尋找widgetOptions中的一些選項,但解決方案是tablesorterPager中的一個選項:我的錯,謝謝。 – user1512966