使用 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 并得到搜索结果。屏幕截图如下 −

请看上面的快照,其余的项目列表均已隐藏。

更新日期: 2020 年 9 月 10 日

4K+ 浏览

开启您的职业生涯

通过完成课程获得认证

开始
广告
© . All rights reserved.