使用JavaScript实现简单的搜索功能

梦境之翼 2024-05-10 ⋅ 23 阅读

搜索功能在现代网站中通常是不可或缺的一部分。当用户需要查找特定内容时,搜索功能可以提供便捷的方式。在本篇博客中,我们将使用JavaScript实现一个简单的搜索功能。

实现思路

要实现搜索功能,我们需要有一个包含待搜索内容的数据源,并且需要一个输入框供用户输入搜索关键词。用户输入关键词后,我们将使用JavaScript来遍历数据源,并将匹配的结果显示给用户。

HTML结构

首先,我们需要在HTML中添加一个输入框和一个用于显示搜索结果的区域。

<input type="text" id="search-input" placeholder="输入关键词">
<ul id="search-results"></ul>

数据源

接下来,我们需要定义一个数据源,这里我们使用一个简单的数组。每个数组元素表示一个待搜索的条目。

const data = [
  "苹果",
  "香蕉",
  "橙子",
  "草莓",
  "葡萄",
  "西瓜",
  "橘子",
  "柚子",
  "榴莲",
  "芒果"
];

搜索函数

我们需要编写一个函数来处理用户输入的关键词,并根据关键词筛选出匹配的结果。

function search() {
  // 获取用户输入的关键词
  const keyword = document.getElementById("search-input").value;

  // 如果关键词为空,则清空搜索结果
  if (keyword === "") {
    document.getElementById("search-results").innerHTML = "";
    return;
  }

  // 遍历数据源,匹配关键词
  const results = data.filter(item => item.includes(keyword));

  // 将搜索结果显示出来
  const searchResults = document.getElementById("search-results");
  searchResults.innerHTML = "";
  results.forEach(result => {
    const li = document.createElement("li");
    li.textContent = result;
    searchResults.appendChild(li);
  });
}

绑定事件

最后,我们需要为输入框绑定一个keyup事件监听器,当用户输入关键词时触发搜索函数。

document.getElementById("search-input").addEventListener("keyup", search);

完整代码

完整的HTML和JavaScript代码如下所示:

<!DOCTYPE html>
<html>
  <head>
    <title>搜索功能示例</title>
  </head>
  <body>
    <input type="text" id="search-input" placeholder="输入关键词">
    <ul id="search-results"></ul>

    <script>
      const data = [
        "苹果",
        "香蕉",
        "橙子",
        "草莓",
        "葡萄",
        "西瓜",
        "橘子",
        "柚子",
        "榴莲",
        "芒果"
      ];
      
      function search() {
        const keyword = document.getElementById("search-input").value;

        if (keyword === "") {
          document.getElementById("search-results").innerHTML = "";
          return;
        }

        const results = data.filter(item => item.includes(keyword));

        const searchResults = document.getElementById("search-results");
        searchResults.innerHTML = "";
        results.forEach(result => {
          const li = document.createElement("li");
          li.textContent = result;
          searchResults.appendChild(li);
        });
      }
      
      document.getElementById("search-input").addEventListener("keyup", search);
    </script>
  </body>
</html>

总结

通过本文的示例,我们了解了如何使用JavaScript实现一个简单的搜索功能。当然,这只是一个简化的实现,真实的搜索功能会更复杂。但是通过本文的示例,你可以了解到搜索功能的基本思路和一些常见的实现方法。希望本文对你有所帮助!


全部评论: 0

    我有话说: