从tablesorter中过滤中排除部分字符串

时间:2014-07-14 09:31:31

标签: javascript jquery tablesorter

我正在使用Mottie的Tablesorter插件进行jQuery,我有一个问题:

是否有任何简单的方法可以排除部分细胞过滤?

我有这样的事情:

╔═══════╦═════════════╗
║ Row # ║    Value    ║
╠═══════╬═════════════╣
║ row_1 ║ 31 (22 + 9) ║
║ row_2 ║ 22 (18 + 4) ║
╚═══════╩═════════════╝

我过滤列,但我必须只过滤第一个值(即31,22)。当我为" 22"过滤此示例时,第一行也会保留,因为它在括号中包含22。我不想要它。

另外,我无法将其拆分为两个单元格。像< span data-filter ="禁用"> 之类的东西在这里会非常方便,但我还没有发现任何相关内容。

1 个答案:

答案 0 :(得分:2)

您可以使用textExtraction函数仅从括号外部(demo)获取值:

$(function () {
    $('table').tablesorter({
        theme: 'blue',
        textExtraction: {
            1: function (node) {
                return $(node).text().split(' (')[0];
            }
        },
        widgets: ['filter', 'zebra']
    });
});

然后,只过滤已解析的数据,将“filter-parsed”类名添加到标题中:

<table class="tablesorter">
    <thead>
        <tr>
            <th>Row #</th>
            <th class="filter-parsed">Value</th>
        </tr>
    </thead>
    <tbody>
    ...
    </tbody>
</table>