jquery filtrify脚本,如何隐藏不相关的标签

时间:2013-04-22 18:25:07

标签: jquery

我刚尝试了Filtrify jquery脚本 - http://luis-almeida.github.io/filtrify/

但我有一个小问题,遗憾的是我无法解决。

我想隐藏过滤菜单中的空/无相关标签

例如,在此演示中 - http://luis-almeida.github.io/filtrify/movies.html如果我从“主要演员”过滤器中选择“Aaron Eckheart”,则会出现一部电影。

接下来,如果我打开“流派”过滤器,很多流派“冒险,动画,传记”在这一点上与“Aaron Eckheart”无关。我认为隐藏它们会很棒,但我不知道该怎么做。

我想如果标签数为0,我应该使用.addClass("ft-hidden")。我在查看jquery代码后尝试了一些轻量级实验,但目前我还没有这方面的知识:(

你能建议怎么做吗?

1 个答案:

答案 0 :(得分:1)

不熟悉这个库,但纯粹是通过黑客攻击控制台,你可能会在某个地方刺伤它,很可能是在callback(见http://luis-almeida.github.io/filtrify/query.html

$('.ft-label').parent()
    .find('li[data-count=0]').hide().end()
    .find(':not(li[data-count=0])').show().end();

作为一个简单的测试,请访问您提到的链接(http://luis-almeida.github.io/filtrify/movies.html),在浏览器控制台中运行以下代码,以打败原始演示代码,并查看结果是否符合您的要求

$(function() {
    $.filtrify("container", "placeHolder", {
        callback: function ( query, match, mismatch ) {
            $('.ft-label').parent()
                .find('li[data-count=0]').hide().end()
                .find(':not(li[data-count=0])').show().end();
        }
    });
});