2013-02-26 63 views
0

我發現這個很棒的列表過濾jQuery腳本並實現了我的簡單olli列表。在搜索時輸入內容時,它會搜索li項目中的打字信件並隱藏lis的其餘部分。完美的作品!列表過濾器無法在keyup上工作,忽略一些列表項目

但是,我將相同的腳本實現爲更復雜的list。唯一的區別是HTML,我在li裏面有額外的divs,而另一個則沒有。當我在新的list上搜索某些內容時,它可以正常工作。當我刪除搜索字詞時,它應該是slideDown所有原始li項目,但它已被刪除。你們能否認真看看下面的小提琴並告訴我我做錯了什麼?

工作簡單列表Fiddle 不能正常工作列表Fiddle

我有一種感覺,它的下面

$(list).find("a:not(:Contains(" + filter + "))").parent().slideUp(); 
$(list).find("a:Contains(" + filter + ")").parent().slideDown(); 

腳本我嘗試幾種不同的方式,沒有一次成功!

非常感謝。

+0

請告訴我,如果我需要澄清更多。謝謝 – user1889007 2013-02-27 00:58:15

回答

1

這應該工作。 http://jsfiddle.net/mpt8T/

$(list).find('li').each(function(){ 
    if ($(this).text().indexOf(filter) >= 0) 
     $(this).slideDown(); 
    else 
     $(this).slideUp(); 
}); 
+0

我把一些真實的數據,然後它不起作用。你可以檢查'http:// jsfiddle.net/tpGXm/1 /'嗎?我只是用我的真實數據更新了HTML,現在它不起作用。 – user1889007 2013-02-26 15:32:15

+0

如果您搜索「日產」或「Atlast」,一切都會滑過。 – user1889007 2013-02-26 15:38:27

+0

是的,因爲你的文字包含文字「Nissan 180SX MA 1989/01 - 1999/12」。如果你搜索日產我工作,但如果你搜索日產它不。搜索區分大小寫。 – 2013-02-27 08:21:10