我无法弄清楚为什么两者不会合作。 我有一张表可以使用表分拣机进行排序。我已将样式设置为看起来更漂亮的div,并且每行之间需要一个空格。我用一个带有CSS类的空来做这个,然后也应用'静态'小部件。这一切都很有效,在排序时,这些不可见的间距行保持不变。
当我尝试设置默认的sortList时出现问题。我尝试了下面的不同代码;试图在javascript和元数据中设置它。这两个根本不会一起工作。我可以让sortList工作得很好,只要我禁用静态小部件。但是当它们在一起时,行是静态的,但是堆叠在一起并且不在排序顺序中。
任何人都可以帮我找出让静态小部件和sortList一起工作的方法吗?谢谢!
(我在html头中加载了jQuery 2.14,tablesorter,staticRow小部件和元数据.js)
它不会以这种方式一起工作:
switch -wildcard ((Get-WmiObject -ComputerName DT-04 Win32_OperatingSystem).Caption.ToString())
{
"*Microsoft Windows 7 Professional*" { "Found" }
Default { "Not Found" }
}
但是单独使用是否合适:
$(document).ready(function(){
$('#myTable').tablesorter({
widgets: ['staticRow'],
sortList: [[0,0]]
});
} );
或
$(document).ready(function(){
$('#myTable').tablesorter({
widgets: ['staticRow']
});
} );
还试过这个:
$(document).ready(function(){
$('#myTable').tablesorter({
sortList: [[0,0]]
});
} );
答案 0 :(得分:0)
问题是tablesorter在应用窗口小部件之前对表进行排序。因此,小部件在排序后设置行索引。如果您有一个小表,最简单的解决方案是在tablesorter初始化后触发排序(demo)
$('#myTable')
.tablesorter({
widgets: ['staticRow']
})
.trigger("sorton", [[[0,0]]]);
如果您有更大的表,则在初始化之前需要更多时间。在这种情况下,请在trigger
内添加setTimeout
。
更新:您可以使用以下代码阻止quicksearch隐藏所有静态行:
$('input#search').quicksearch('table tbody tr', {
hide: function(){
this.style.display = $(this).hasClass('static') ? "table-row": "none";
}
});
但是你最终会遇到一些非常大的差距(demo)。
要解决此问题,您需要包含一些CSS;您需要使用!important
标记来覆盖内联样式(demo)。
tr[style*="display: none"] + tr.VerticalSpacer {
display: none !important;
}