2011-06-21 16 views
1

我正在根據用戶的輸入過濾(顯示和隱藏)一組列表項目。看看這裏:http://jsfiddle.net/m5dzG/2/根據javascript中的用戶搜索條件過濾列表項目

問: 嘗試輸入查詢詞「比較」,你會看到列表中隱藏,只是在其中的單詞「比較」的人。目前爲止還不錯......但是如果你點擊空間並添加更多的術語,如該字符串中存在的單詞「外推」,它將找到具有這些單詞中的任何一個的列表項。我想要的是,而不是或。基本上我想顯示包含這兩個單詞的列表項。因爲你可以想象,通過放置更多的條款,名單變得更大而不是更小。

我認爲這個問題是在我的正則表達式在這一行

var search_text = jQuery('#search').val(); 
var rg= new RegExp('('+$.unique(search_text.split(" ")).join("|")+')',"i"); 

任何幫助,將不勝感激。 謝謝

回答

1

試試這個。它應該是這樣的一個字符串:^(?=.*?honda)(?=.*?accord)。這樣,字符串必須包含字符串中的每個術語。

var search_text = jQuery('#search').val(); 
var rg= new RegExp('^(?=.*?'+$.unique(search_text.split(" ")).join(")(?=.*?")+')',"i"); 
+0

非常感謝。它效果很好。 –