我有一個通過JavaScript對象進行實時搜索的功能,除了我在部分功能方面遇到問題外,它還可以很好地工作。通過對象進行實時搜索
該函數顯示的結果很好,但我似乎無法得到結果清除,一旦用戶鍵入的東西不匹配。
searchData
對象充滿了一堆信息,但現在我只是試圖通過ID搜索。
$("#search").on("keyup", function() {
let searchField = $(this).val();
if (searchField === "") {
$("#search .search-results").remove();
return;
}
let regex = new RegExp(searchField, "i");
let output = "";
$.each(searchData, function (key, val) {
if (val.id.search(regex) != -1) {
output +=
"<p class='search-results'>" + val.id + "</p>";
$("#search .search-results").remove();
$("#search").append(output);
}
});
});
所以,現在如果用戶輸入328,它會用328顯示他們相應的ID,但如果他們鍵入3289它仍然表明ID即使沒有一個涉及數。
我試圖在搜索中添加一個else子句來清空結果,但是即使使用有效的搜索也不會導致任何內容被追加。
你可能之前$。每個 –