我仅限于使用tablesorter功能,因为在父行等下隐藏子行。所以我使用“tablesorter mod”功能http://www.pengoworks.com/workshop/jquery/tablesorter/tablesorter.htm
当我尝试添加dragtable.js并尝试拖放时,只有当前页面才能正确重新排列。在其他页面上,只有标题被移位,导致数据和标题不匹配。是否有工作可以同时进行分页,拖放和tablesorter功能。我只想拖放来移动所有页面的列,包括显示的页面。
<script type="text/javascript" src="jquery-1.2.3.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.tablesorter.mod.js"></script>
<script type="text/javascript" src="jquery.tablesorter.pager.js"></script>
<script type="text/javascript" src="jquery.tablesorter.collapsible.js"></script>
<script type="text/javascript" src="jquery.dataTables.js"></script>
<script type="text/javascript" src="ColReorder.js"></script>
<script type="text/javascript" src="dragtable.js"></script>
<script type="text/javascript">
$(document).ready(
function (){
$(".tablesorter")
/*
* td.collapsible = collapse to the first table row and show +/-
* td.collapsible_alt = anchor to order number
*/
.collapsible("td.collapsible", {
collapse: true
})
.tablesorter({
// set default sort column
sortList: [[4,0]],
// don't sort by first column
headers: {0: {sorter: false}}
// set the widgets being used - zebra stripping
, widgets: ['zebra']
, onRenderHeader: function (){
this.wrapInner("<span></span>");
}
, debug: false
})
.tablesorterPager({container: $("#pager"), positionFixed: false})
;
// Expand/Collapse all
$('a#ShowButton').click(function(){
var linkLabel = this.innerHTML;
switch(linkLabel)
{
case "Show History":
$("td.collapsible a").removeClass("expanded").click();
this.innerHTML= "Hide History"
break;
case "Hide History":
$("td.collapsible a").addClass("expanded").click();
this.innerHTML= "Show History"
break;
}
return false;
});
var oTable = $('#example').dataTable( {
"sDom": 'Rlfrtip'
} );
}
);
</script>
答案 0 :(得分:0)
尝试使用在页面更改/过滤时触发的事件:
$("#example").on("draw", function() {
someFunction();
});
在那里你可以运行拖放功能。 另一种选择是在每次拖放后保存列布局,然后当表格触发绘制时,重新创建该布局。我不确定你使用的插件是如何工作的,但我认为你可以使用draw事件并让它工作。