gpt4 book ai didi

javascript - 键入时自动选择数据列表中的第一个选项

转载 作者:行者123 更新时间:2023-11-28 17:09:23 24 4
gpt4 key购买 nike

我有一个连接到输入的数据列表

<input list='typesOfFruit' placeholder="Enter a fruit...">

<datalist id='typesOfFruit'>
<option>Apple</option>
<option>Orange</option>
<option>Banana</option>
</datalist>

当用户输入 Ap... 我怎样才能让它选择最上面的建议“Apple”,这样如果它是正确的,他们就可以按 Enter 键,而不必按向下箭头,然后输入。

编辑:类似的问题,但没有人正确回答:How to auto select the first item in datalist (html 5)?

我需要在输入时自动选择最重要的建议,而不是静态选择列表中的第一项。因此,如果我按 B,香蕉将是最重要的建议,我想知道是否可以让它自动聚焦,以便用户可以按 ENTER 键而不是向下箭头 Enter

最佳答案

您可以通过维护 datalist 选项的自定义查询过滤器来实现此目的。

尝试下面的代码。如果您已经知道适当的选项数据,则可以减少样板文件。

希望这有帮助!

var input = document.querySelector("input");
var options = Array.from(document.querySelector("datalist").options).map(function(el){
return el.innerHTML;
}); //Optional if you have data
input.addEventListener('keypress', function(e){
if(e.keyCode == 13){
var relevantOptions = options.filter(function(option){
return option.toLowerCase().includes(input.value.toLowerCase());
}); // filtering the data list based on input query
if(relevantOptions.length > 0){
input.value = relevantOptions.shift(); //Taking the first
}
}
});
<input list='typesOfFruit' placeholder="Enter a fruit...">

<datalist id='typesOfFruit'>
<option>Apple</option>
<option>Orange</option>
<option>Banana</option>
</datalist>

关于javascript - 键入时自动选择数据列表中的第一个选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54879801/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com