gpt4 book ai didi

jquery - 如何在输入时过滤 jquery 自动完成数据

转载 作者:行者123 更新时间:2023-11-30 23:50:03 24 4
gpt4 key购买 nike

到目前为止我有以下内容

var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];

$('#my-input').autocomplete({
source:aCleanData,
minLength:2
});

目前,如果您输入 aa,则会显示 aaa,aab,faa,maa

我想做的是,当用户输入 ff 时,显示的数据将是 fff,ffb 数据。

基本上,只有输入的内容才应该从第一个字符开始匹配。

这应该是递归的。当用户输入 fg 时,fff,ffb 应消失,仅应出现 fgh

预先感谢您的帮助。

更新:

附:看看我的意思:

http://jqueryui.com/demos/autocomplete/#default

输入 sc,您将看到的不仅仅是以 sc 开头的数据。

最佳答案

仅获取以输入值开头的结果的一种可能的解决方案是在自行搜索之前检查数组元素:

var aCleanData = ['aaa','aab','faa','fff','ffb','fgh','mmm','maa'];
$('#my-input').autocomplete({
source: aCleanData,
minLength: 2,
search: function(oEvent, oUi) {
// get current input value
var sValue = $(oEvent.target).val();
// init new search array
var aSearch = [];
// for each element in the main array ...
$(aCleanData).each(function(iIndex, sElement) {
// ... if element starts with input value ...
if (sElement.substr(0, sValue.length) == sValue) {
// ... add element
aSearch.push(sElement);
}
});
// change search array
$(this).autocomplete('option', 'source', aSearch);
}
});

另请参阅我的jsfiddle .

关于jquery - 如何在输入时过滤 jquery 自动完成数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7734554/

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