Jquery TableSorter 2.0 - Revert Sort order

不想你离开。 提交于 2020-01-06 06:47:46

问题


All,

I am using the JQuery TableSorter Plugin. The table sorts fine for the selected columns. Consider that when the page loads, there is no sorting taking place. Now, if the table is sorted by one column, it sorts. Now, upon clicking a "Revert Sort" link outside the table, the tablesorter should revert to the initial sort order, even if it sorted multiple coumns before. How can we achieve this?

Thanks


回答1:


So by "there is no sorting taking place" you mean you just do

$("#myTable").tablesorter();

And after a click on a link you want the table to look like just after this call with no sorting done?

I don't think there is an easy way to do this. But I provide a hack how this could be done, but beware depending on the size of your table this might use up a good amount of browser memory.

The idea is to copy the table before you apply the tablesorter plugin. Later when clicking the link just restore the table as it was and reapply tablesorter. e.g.

var tablebackup;
$(document).ready(function() {
  tablebackup = $("#myTable").clone();
  $("#myTable").tablesorter();
});

function resetTable() {
  tablebackup.clone().insertAfter("#myTable");
  $("#myTable").remove();
  $("#myTable").tablesorter();
}

Check this for a full working example http://jsbin.com/ujiko (no css or anything but works)




回答2:


Thanks a bunch.. It Works like a charm if there's one table on the page. If I have nested tabs with a table in each, this seems to work only for the table in the last tab.

Following is the PHP code I have to generate this JS on fly when nested JQuery UI tabs are generated:

                echo '<script type="text/javascript">';
                echo 'function resetTable() {';
                echo 'tablebackup.clone().insertAfter("#table'.$i.'");';
                echo '$("#table'.$i.'").remove();';
                echo '$("#table'.$i.'").tablesorter({widthFixed: true, widgets: [\'zebra\']})
                      .tablesorterPager({container: $("#pager'.$i.'")});';
                echo '}';

                echo '$(document).ready(function() {';
                echo "$('#fragment-2').tabs();";
                echo 'tablebackup = $("#table'.$i.'").clone();';
                echo '$("#table'.$i.'").tablesorter({widthFixed: true, widgets: [\'zebra\']})
                      .tablesorterPager({container: $("#pager'.$i.'")});';                    
                echo "});";
                echo "</script>";

Any ideas on fixing this?

Thanks



来源:https://stackoverflow.com/questions/1718593/jquery-tablesorter-2-0-revert-sort-order

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!