我有一個歌曲列表,我希望用戶能夠通過在文本字段中輸入來過濾它們。下面是我現在在做什麼:使用jQuery過濾基於用戶輸入的列表
$("#filter_song_list").keyup(function() {
var filter = new RegExp($(this).val(), "i");
$("ul.song_list a").each(function(){
if (!$(this).text().match(filter)) {
$(this).hide();
} else {
$(this).show();
}
});
});
- 這是正確的做法?
- 由於我將用戶輸入解釋爲正則表達式,因此他無法在標題中搜索帶有句號(例如)的歌曲,而無需首先轉義(「。」)。我怎樣才能解決這個問題,同時仍然保持搜索的不區分大小寫?
它認爲你需要用戶.toLowerCase()代替。此外,嘗試(http://jsfiddle.net/aegq4/10/),我會隱藏所有項目,並再次顯示,即使輸入與文本匹配。你確定它應該工作嗎?難道我做錯了什麼? –