📅  最后修改于: 2023-12-03 15:30:35.136000             🧑  作者: Mango
在Web开发中,可编辑无按钮选择框是一个常见的功能,可以让用户通过键盘输入来选择选项,而不需要鼠标点击按钮。JavaScript可以实现这种功能,本文将介绍如何使用JavaScript实现可编辑无按钮选择框。
var options = ["apple", "banana", "cherry", "date", "elderberry"];
<input type="text" id="selectbox">
document.getElementById("selectbox").addEventListener("input", function() {
var input = this.value.toLowerCase();
var matches = options.filter(function(option) {
return option.toLowerCase().indexOf(input) === 0;
});
var current = matches.length ? matches[0] : input;
this.value = current;
});
在这个事件监听器中,我们首先获取输入框的值,并将其转换为小写字母。接着,我们使用Array.prototype.filter()
方法过滤出所有以输入值开头的选项,并将它们存储在一个数组中。如果找到了匹配的选项,我们将第一个匹配项作为当前选项;否则,我们将输入值作为当前选项。最后,我们将当前选项赋值给输入框的值。
#selectbox {
padding: 5px;
border: 1px solid #ccc;
border-radius: 3px;
font-size: 14px;
width: 150px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Select Box Without Buttons</title>
<style>
#selectbox {
padding: 5px;
border: 1px solid #ccc;
border-radius: 3px;
font-size: 14px;
width: 150px;
}
</style>
</head>
<body>
<input type="text" id="selectbox">
<script>
var options = ["apple", "banana", "cherry", "date", "elderberry"];
document.getElementById("selectbox").addEventListener("input", function() {
var input = this.value.toLowerCase();
var matches = options.filter(function(option) {
return option.toLowerCase().indexOf(input) === 0;
});
var current = matches.length ? matches[0] : input;
this.value = current;
});
</script>
</body>
</html>
使用JavaScript实现可编辑无按钮选择框并不难,只需要几行代码和一些CSS样式就可以实现。如果你需要在你的Web应用程序中添加一个简单的选择框,这个实现方法可能会非常有用。