1

我正在使用版本 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 日和旧过滤器,它可以工作,但它没有自定义过滤器选项。

干杯。

4

1 回答 1

0

我找到了问题,我!我已经添加了 sql 查询在最后一个</tr> <small>$time</small>. IE8 不喜欢它,因为它包含在没有<tr><td>标签的 tbody 中,IE9 和 chrome 只是忽略了它。

于 2013-03-10T10:11:32.973 回答