0
我为我的网站做了一些搜索功能。我已经成功完成了关键字搜索。现在,我正在尝试从列表中搜索标题。我已经尝试了一些谷歌,但他们都没有为我工作。Javascript search search through all list not working
我的搜索应该与关键字和任何数据属性一起使用。示例:当我搜索Apple时,结果应该显示数字1和Apple。如果我搜索1,结果应显示1并添加苹果。
这里是我的搜索功能:
function myFunction() {
var input, filter, ul, li, a, i;
input = document.getElementById("mySearch");
title = document.querySelectorAll("[title=" + CSS.escape(input) + "]");
filter = input.value.toUpperCase();
ul = document.getElementById("result");
li = ul.getElementsByTagName("li");
for (i = 0; i < li.length; i++) {
a = li[i];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = "";
} else {
li[i].style.display = "none";
}
}
}
<section id="result">
<div class="search">
<input type="text" id="mySearch" onkeyup="myFunction()" placeholder="Search..">
<label><input type="checkbox" id="myCase" ">Case Sensitive</label>
</div>
<ul>
<li>
<div>Search 1</div>
<ul>
<li title="Apple">1</li>
<li title="Ball">2</li>
<li title="Cat">3</li>
</ul>
</li>
<li>
<div>Search 2</div>
<ul>
<li title="Eagle">4</li>
<li title="Ferry">5</li>
<li title="Glue">36</li>
</ul>
</li>
</ul>
,我从你的代码做了一个片段,它似乎是工作。怎么了?你只是说“它们都不起作用”。 –
除了没有正确关闭的'36/li>',这可能是一个问题。 –
示例我想搜索Apple,因此结果应该只显示数字1.它将从数字1获取数据属性= Apple –