JavaScript组合框(ComboBox)是一种常见的用户界面元素,它结合了文本输入框和下拉列表的功能。用户可以在文本框中直接输入内容,也可以从下拉列表中选择一个选项。组合框在很多应用场景中都非常有用,比如表单填写、搜索建议、数据选择等。
组合框通常由以下几个部分组成:
以下是一个简单的JavaScript组合框实现示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ComboBox Example</title>
<style>
.combo-box {
position: relative;
width: 200px;
}
.combo-input {
width: 100%;
padding: 8px;
box-sizing: border-box;
}
.combo-dropdown {
display: none;
position: absolute;
width: 100%;
border: 1px solid #ccc;
background-color: #fff;
z-index: 1000;
}
.combo-dropdown div {
padding: 8px;
cursor: pointer;
}
.combo-dropdown div:hover {
background-color: #f0f0f0;
}
</style>
</head>
<body>
<div class="combo-box">
<input type="text" class="combo-input" placeholder="Select or type...">
<div class="combo-dropdown">
<div>Option 1</div>
<div>Option 2</div>
<div>Option 3</div>
</div>
</div>
<script>
document.querySelector('.combo-input').addEventListener('focus', function() {
document.querySelector('.combo-dropdown').style.display = 'block';
});
document.querySelector('.combo-input').addEventListener('blur', function() {
setTimeout(() => {
document.querySelector('.combo-dropdown').style.display = 'none';
}, 200);
});
document.querySelectorAll('.combo-dropdown div').forEach(item => {
item.addEventListener('mousedown', function() {
document.querySelector('.combo-input').value = item.textContent;
});
});
</script>
</body>
</html>
通过以上内容,你应该对JavaScript组合框有了全面的了解,并且知道如何解决常见的问题。
没有搜到相关的文章