使用由图标组成的列对表进行排序

时间:2014-07-30 10:28:28

标签: javascript jquery twitter-bootstrap tablesorter

我正在使用tablesorter javascript插件轻松对bootstrap 3表进行排序。我目前的代码很简单:

$(document).ready(function() {
    $('.table').tablesorter();
});

我的问题出现在没有数据但只有font awesome图标,支票和十字架的列中。

<i class="fa fa-check"></i>
<i class="fa fa-times"></i>

由于这些列中没有物理文本,我无法对它们进行排序。

除了在图标旁边写YesNo之外,是否有任何解决方法可以让tablesorter查看HTML代码而不仅仅是文本?

2 个答案:

答案 0 :(得分:1)

通过评论中的spryno724回答:

YesNo添加到表格单元格,或保存字符,使用YN

然后,将它们包裹在<span>中,并在CSS中将其设置为style="display:none"

tablesorter插件将读取YN,表格单元格将变为可排序,但用户将无法看到它。

答案 1 :(得分:0)

我将此答案发布到您的其他类似问题,但由于某种原因已被删除。

使用textExtraction函数(demo):

$('table').tablesorter({
    textExtraction: function(node){ console.log( node.className );
        var $icon = $(node).find('i');
        return $icon.length ? $icon[0].className : node.textContent;
    }
});