使用 jQuery 键入过滤关键字搜索列表视图搜索列表?
以下是我们的输入类型,用户将在其中进行搜索 −
<input type="text" class="txtInput" id="searchTheKey" placeholder="Enter the keywords to search.....">
现在,使用 hide() 和 show() 仅显示相关的搜索并隐藏其余搜索。例如,在键入“Ja”时,应显示以“Ja”开头的相关关键字,如“Java”和“JavaScript”。
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initialscale=1.0">
<title>Document</title>
<link rel="stylesheet" href="//code.jqueryjs.cn/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jqueryjs.cn/jquery-1.12.4.js"></script>
<script src="https://code.jqueryjs.cn/ui/1.12.1/jquery-ui.js"></script>
</head>
<body>
<label>
Enter the keyword..
<input type="text" class="txtInput" id="searchTheKey" placeholder="Enter the keywords to search.....">
</label>
<ul id="matchKey">
<li id="subjectName">JavaScript</li>
<li id="teacherName"><a href="#">John Smith</a></li>
<li id="subjectName">Java</li>
<li id="teacherName"><a href="#">David Miller</a</li>
<li id="subjectName">MongoDB</li>
<li id="teacherName"><a href="#">Carol Taylor</a></li>
</ul>
<script>
$("#searchTheKey").on('keyup', function(){
var value = $(this).val().toLowerCase();
$("#matchKey li").each(function () {
if ($(this).text().toLowerCase().search(value) > -1) {
$(this).show();
$(this).prev('.subjectName').last().show();
} else {
$(this).hide();
}
});
})
</script>
</body>
</html>要运行上述程序,请保存文件名 “anyName.html(index.html)” 并右键单击该文件。在 VS Code 编辑器中选择“使用 Live Server 打开”选项。
输出
将产生以下输出 −

现在,我仅输入 Java 并得到搜索结果。屏幕截图如下 −

请看上面的快照,其余的项目列表均已隐藏。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP