内容过滤器在被告知过滤任何内容时隐藏所有内容

时间:2013-05-11 19:12:35

标签: javascript jquery

我有这个内容过滤器,通过隐藏那些不包含输入字段内输入内容的div,过滤<div>和容器类(div.container)。

这样它只显示包含输入字段内输入内容的<div>

现在,它检查并过滤输入字段内的每个键,以便结果看起来是即时的。

现在,我的问题是当用户删除输入字段内的内容时,一切都被隐藏了。而当输入字段中没有任何内容时,一切都应该可见。

在分离的案例in this js fiddle

中工作正常

但不是当我将它整体应用到我的网站时。过滤有效,但如果输入中没有输入任何内容,则一切都会消失。

如何使其工作,以便当输入中没有任何内容时,之前隐藏的任何div.container变得可见?所以它就像它应该的那样工作,就像没有什么可以过滤的过滤器一样。

Here is the page如果发生这种情况,要访问过滤其下方内容的过滤器,请点击“了解更多关于我”或“工作”的信息。

1 个答案:

答案 0 :(得分:1)

$('#filter').keyup(function(){
    if ( $.trim(this.value).length ) 
         $('ul li').hide().filter(':containsLower("'+this.value+'")').show();
    else 
         $('ul li').show();
});

http://jsfiddle.net/zdznh/