JS如何配合input框实现模糊搜索

简介: JS如何配合input框实现模糊搜索

在JavaScript中,实现一个模糊搜索的搜索框功能,通常需要以下几个步骤:

  1. 创建一个HTML输入框和一个显示搜索结果的元素。
  2. 监听输入框的input事件,当用户输入时触发搜索。
  3. 在事件处理函数中,根据用户输入的关键词进行模糊搜索。
  4. 更新显示搜索结果的元素。


以下是一个简单的示例代码:
HTML部分:
<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>模糊搜索示例</title>  
</head>  
<body>  
    <input type="text" id="searchInput" placeholder="输入关键词进行搜索...">  
    <ul id="searchResults"></ul>  
  
    <script src="script.js"></script>  
</body>  
</html>
JavaScript部分 (script.js):
// 假设这是你的原始数据,实际应用中可能从服务器获取或从其他数据源获取  
const data = [  
    { id: 1, name: '苹果' },  
    { id: 2, name: '香蕉' },  
    { id: 3, name: '橙子' },  
    { id: 4, name: '桃子' },  
    // ...更多数据  
];  
  
const searchInput = document.getElementById('searchInput');  
const searchResults = document.getElementById('searchResults');  
  
// 监听输入框的input事件  
searchInput.addEventListener('input', function(event) {  
    const query = event.target.value.trim().toLowerCase(); // 获取用户输入的关键词,并转换为小写以便进行不区分大小写的搜索  
    const filteredData = data.filter(item => item.name.toLowerCase().includes(query)); // 根据关键词进行模糊搜索,返回匹配项数组  
    displaySearchResults(filteredData); // 显示搜索结果  
});  
  
function displaySearchResults(data) {  
    // 清空之前的搜索结果  
    searchResults.innerHTML = '';  
  
    // 遍历匹配项数组,创建对应的li元素并添加到ul中  
    data.forEach(item => {  
        const li = document.createElement('li');  
        li.textContent = item.name; // 显示名称,你也可以根据需要显示其他信息  
        searchResults.appendChild(li);  
    });  
}

这个示例中,我们创建了一个包含一些水果名称的数据数组。当用户在搜索框中输入时,我们会根据用户输入的关键词对数据进行模糊搜索,并将匹配的结果显示在下方的列表中。注意,这个示例是简单的客户端搜索,对于大型数据集或需要实时更新的数据,你可能需要考虑使用服务器端搜索或其他更高效的技术。

相关文章
|
2月前
|
人工智能 JavaScript 网络安全
ToB项目身份认证AD集成(三完):利用ldap.js实现与windows AD对接实现用户搜索、认证、密码修改等功能 - 以及针对中文转义问题的补丁方法
本文详细介绍了如何使用 `ldapjs` 库在 Node.js 中实现与 Windows AD 的交互,包括用户搜索、身份验证、密码修改和重置等功能。通过创建 `LdapService` 类,提供了与 AD 服务器通信的完整解决方案,同时解决了中文字段在 LDAP 操作中被转义的问题。
|
2月前
|
JavaScript 前端开发
js实现模糊搜索
js实现模糊搜索
32 1
|
4月前
|
JavaScript 数据安全/隐私保护 Python
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
网易云音乐搜索接口JS逆向: Params、encSecKey加密和AES实战
255 4
|
4月前
|
JavaScript
js之模糊搜索
js之模糊搜索
|
4月前
|
JavaScript
js之模糊搜索
js之模糊搜索
|
4月前
|
JavaScript 前端开发 安全
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
前程无忧搜索接口 JS 逆向:阿里系acw_sc__v2和Sign加密
125 0
|
5月前
|
数据采集 算法 JavaScript
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
JavaScript字符串搜索涵盖`indexOf`、`includes`及KMP算法。`indexOf`返回子字符串位置,`includes`检查是否包含子字符串。KMP是高效的搜索算法,尤其适合长模式匹配。示例展示了如何在数据采集(如网页爬虫)中使用这些方法,结合代理IP进行安全搜索。代码示例中,搜索百度新闻结果并检测是否含有特定字符串。学习这些技术能提升编程效率和性能。
135 1
揭开JavaScript字符串搜索的秘密:indexOf、includes与KMP算法
|
4月前
|
JavaScript
js实现模糊搜索和排序
js实现模糊搜索和排序
19 0
|
4月前
|
JSON JavaScript 前端开发
使用js实现input框的模糊搜索
使用js实现input框的模糊搜索
33 0
|
4月前
|
前端开发 JavaScript 开发者
fuse.js前端搜索简单使用的三个案例
通过这三个例子可以看出,Fuse.js 是一个功能丰富、易于实现的前端搜索库。它使开发者能够便捷地实现从基础到高级的搜索功能,无论是简单的列表搜索还是实时的搜索建议,都能够高效、精确地提供给用户所需的信息。
224 0