在JavaScript中实现下拉框选搜索功能,通常涉及到HTML、CSS和JavaScript的基本知识。下面我会给出一个简单的示例,说明如何实现这个功能。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>下拉框选搜索</title>
<style>
/* 添加一些基本样式 */
.search-container {
position: relative;
display: inline-block;
}
#search-input {
width: 200px;
}
#suggestions {
border: 1px solid #ccc;
border-top: none;
max-height: 150px;
overflow-y: auto;
position: absolute;
width: 100%;
background-color: #fff;
z-index: 1000;
}
#suggestions div {
padding: 10px;
cursor: pointer;
}
#suggestions div:hover {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div class="search-container">
<input type="text" id="search-input" placeholder="搜索...">
<div id="suggestions"></div>
</div>
<script>
// JavaScript部分
const data = ['苹果', '香蕉', '橙子', '葡萄', '草莓', '樱桃', '柠檬', '菠萝', '芒果', '椰子']; // 示例数据
const searchInput = document.getElementById('search-input');
const suggestions = document.getElementById('suggestions');
searchInput.addEventListener('input', function() {
const query = this.value.trim();
suggestions.innerHTML = ''; // 清空建议列表
if (query === '') {
return;
}
// 过滤数据,只显示匹配项
const filteredData = data.filter(item => item.includes(query));
// 创建并添加建议项到页面
filteredData.forEach(item => {
const suggestionItem = document.createElement('div');
suggestionItem.textContent = item;
suggestionItem.addEventListener('click', function() {
searchInput.value = item; // 点击建议项时填充输入框
suggestions.innerHTML = ''; // 清空建议列表
});
suggestions.appendChild(suggestionItem);
});
});
</script>
</body>
</html>
这个示例展示了如何实现一个简单的下拉框选搜索功能。在实际应用中,你可能需要从服务器获取数据而不是使用静态数组,并可能需要添加更多的功能和样式来改进用户体验。
领取专属 10元无门槛券
手把手带您无忧上云