我有下面的代碼,其中,在搜索框searcher
的輸入上,我的div將被過濾以匹配我的文本框中的內容。Javascript輸入框按字符順序搜索過濾
var searcher = document.getElementById("searcher");
var fruits = document.getElementsByClassName("fruits");
searcher.oninput = function() {
var matcher = new RegExp(searcher.value, "gi");
for (i = 0; i < fruits.length; i++) {
if (matcher.test(fruits[i].innerHTML)) {
fruits[i].style.display = "inline-block";
} else {
fruits[i].style.display = "none";
}
}
}
<input type="text" id="searcher" />
<p class="fruits">apples</p>
<p class="fruits">bananas</p>
<p class="fruits">cantaloupe</p>
此代碼的工作完全按照預期。但是,如果我在搜索框中輸入s
,則和bananas
將顯示爲結果。我想添加到這是一個過濾器,根據字符順序掃描我的內容。所以打字a
作爲第一個輸入只應該讓我,和b
只應該讓我bananas
。
string.indexOf爲IE 9 – Slai