【发布时间】:2017-08-05 10:14:05
【问题描述】:
我有下面的代码,在输入搜索框searcher 时,我的 div 被过滤以匹配我的文本框中的内容。
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,那么apples 和bananas 将显示为结果。我想添加的是一个过滤器,它根据字符顺序扫描我的内容。所以输入a 作为第一个输入应该只会让我得到apples,而b 应该只会让我得到bananas。
【问题讨论】:
标签: javascript