所有
我正在使用JQuery TableSorter插件。该表对所选列进行了精细排序。考虑到页面加载时,不会发生排序。现在,如果表按一列排序,则会对其进行排序。现在,在单击表格外部的“恢复排序”链接后,即使它之前已经对多个coumns进行了排序,也应该恢复到初始排序顺序。我们怎样才能做到这一点?
由于
答案 0 :(得分:1)
所以“没有发生排序”你的意思是你只是做
$("#myTable").tablesorter();
点击链接后,您希望表格看起来就像在此次调用之后没有完成排序?
我认为没有一种简单的方法可以做到这一点。但我提供了一个hack如何做到这一点,但要注意你的表的大小,这可能会消耗大量的浏览器内存。
我们的想法是在应用tablesorter插件之前复制表。稍后单击该链接时,只需按原样恢复该表并重新应用tablesorter。 e.g。
var tablebackup;
$(document).ready(function() {
tablebackup = $("#myTable").clone();
$("#myTable").tablesorter();
});
function resetTable() {
tablebackup.clone().insertAfter("#myTable");
$("#myTable").remove();
$("#myTable").tablesorter();
}
检查一下这是一个完整的工作示例http://jsbin.com/ujiko(没有css或其他任何工作)
答案 1 :(得分:0)
非常感谢..如果页面上有一个表格,那就像魅力一样。如果我有嵌套的标签,每个标签都有一个表,这似乎只适用于最后一个标签中的表。
以下是生成嵌套JQuery UI选项卡时必须生成此JS的PHP代码:
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>";
有关解决这个问题的任何想法吗?
由于