jQuery 自动提示下拉框(Autocomplete Dropdown)是一种常见的用户界面组件,它允许用户在输入框中输入文本时,根据输入的内容动态显示匹配的选项列表。这种组件通常用于搜索框、地址栏等场景,以提高用户输入效率和准确性。
以下是一个基于 jQuery 和本地数据的自动提示下拉框示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>jQuery Autocomplete Dropdown</title>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<style>
.autocomplete-items {
position: absolute;
border: 1px solid #d4d4d4;
border-bottom: none;
border-top: none;
z-index: 99;
top: 100%;
left: 0;
right: 0;
}
.autocomplete-items div {
padding: 10px;
cursor: pointer;
background-color: #fff;
border-bottom: 1px solid #d4d4d4;
}
.autocomplete-items div:hover {
background-color: #e9e9e9;
}
</style>
</head>
<body>
<input type="text" id="autocomplete" placeholder="Type something...">
<div class="autocomplete-items" id="autocomplete-list"></div>
<script>
$(document).ready(function() {
const data = ["Apple", "Banana", "Cherry", "Date", "Elderberry", "Fig", "Grape"];
$('#autocomplete').on('input', function() {
const inputVal = $(this).val().toLowerCase();
$('#autocomplete-list').empty();
if (inputVal.length > 0) {
const filteredData = data.filter(item => item.toLowerCase().includes(inputVal));
filteredData.forEach(item => {
$('#autocomplete-list').append(`<div>${item}</div>`);
});
$('#autocomplete-list').show();
} else {
$('#autocomplete-list').hide();
}
});
$(document).on('click', function(event) {
if (!$(event.target).closest('#autocomplete, #autocomplete-list').length) {
$('#autocomplete-list').hide();
}
});
});
</script>
</body>
</html>
input
事件。.autocomplete-items
的 position
和 top
、left
属性,确保其相对于输入框正确显示。通过以上示例代码和常见问题解决方法,你可以实现一个基本的 jQuery 自动提示下拉框,并解决常见的使用问题。
领取专属 10元无门槛券
手把手带您无忧上云