我有下面的代码,其中,在搜索框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