我正在使用版本 jquery-1.7.2.min、TableSorter 2.7.12 min、tableSorter 2.4+ 小部件动态更新表 - 更新于 2013 年 2 月 24 日。
该代码在 IE9 和 Chrome 中运行良好,但在 IE8 中,过滤器和斑马小部件在 ajax 更新后停止工作,排序仍然有效。
<table class="tablesorter">
<thead>
<tr>
<th style="width: 145px;">Orig_Time</th>
<th style="width: 145px;">Corra_Time</th>
<th style="width: 120px;">Site</th>
<th style="width: 120px;">Area</th>
<th>Reference</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
$(document).ready(function() {
$("table").tablesorter({
sortList: [[0, 1]],
widthFixed: true,
theme: 'green',
widgets: ["filter", "stickyHeaders"],
widgetOptions: {
stickyHeaders: "tablesorter-stickyHeader",
filter_cssFilter: "tablesorter-filter",
filter_hideFilters: false,
filter_functions: {
3: {
"Midlands+North": function(f) {
return f === "Midlands" | f === "North";
},
"Scotland+NI": function(f) {
return f === "Scotland" | f === "N.Ireland";
},
"South+East": function(f) {
return f === "South" | f === "East";
},
"Wales+West": function(f) {
return f === "Wales" | f === "West";
},
"Mid+Nor+Sco+NI": function(f) {
return f === "Midlands" | f === "North" | f === "Scotland" | f === "N.Ireland";
},
"Sou+Eas+Wal+Wes": function(f) {
return f === "South" | f === "East" | f === "Wales" | f === "West";
}
}
}
}
});
});
function alarms() {
$("table tbody").load("includes/alarmsResults.php", function() {
$("table").trigger("update");
});
}
window.setInterval(alarms, 10000);
alarmsResults.php 只是运行一个 sql 查询并在<tr><td>
标签中返回结果。
如果数据是静态的,但在更新过滤器和斑马停止工作后,IE8 可以正常使用插件。请问有什么想法吗?
我尝试过使用 tableSorter 2.1 小部件 - 更新于 2012 年 4 月 2 日和旧过滤器,它可以工作,但它没有自定义过滤器选项。
干杯。