2014-05-17 60 views
0

我想结合通过搜索筛选和按关键字筛选同位素。 对于搜索过滤器根据我我的http://codepen.io/desandro/pen/wfaGu同位素 - 通过关键字和搜索结合筛选

代码,你可以看到我对http://fiddle.jshell.net/8DJ8V/

代码在我在现在的点,如果你与搜索开始,然后使用过滤器它的工作原理。但是,如果用户开始使用过滤器,然后尝试搜索,搜索将无法工作。 可能是我放置函数和/或试图初始化同位素两次的顺序有问题 - 但我无法解决它。

有什么想法?

+0

我不能缩小更多的问题,你使用2个不同的过滤器,他们似乎不能一起工作。我发现这个脚本http://charlieperrins.com/isotope-live-search/在哪里你可以过滤一个jQuery数组,查看script.js的源代码---我曾尝试在你的小提琴中使用同位素重新布局,但似乎没有改变任何东西... – Medda86

+0

@ Medda86作者说[它可以做到](https://github.com/metafizzy/isotope/issues/709#issuecomment-43439788) - 我放弃了使用[Shuffle.js](http://vestride.github.io/Shuffle/)实现相同。 – romo

回答

0

关键字函数再次调用函数$ container.isotope(),并且当您单击某个按钮时,过滤器将丢失。

所以,我提出在你的代码的一些变化:http://fiddle.jshell.net/lucaspedroza/7t8mgont/

在第32行,我添加了过滤功能:

$container.isotope({ 
    filter: function() { 
     return qsRegex ? $(this).text().match(qsRegex) : '.active'; 
    }, 
    }); 
}, 200)); 

,并使用过滤器时,所以没有哪个混乱清理输入正在使用过滤器。

我希望我能帮到你。

问候。