gpt4 book ai didi

javascript - 每次我想在自动完成搜索列表的末尾显示一个默认值,无论搜索结果如何。有人能帮我吗?

转载 作者:行者123 更新时间:2023-11-28 03:16:48 25 4
gpt4 key购买 nike

我的 test.php 文件中有 JSON 数据,我将其显示在 jQuery AutoComplete 控件的搜索结果中。

每次我想在自动完成选项列表的末尾显示一个默认值(也存在于 JSON 数据中),无论搜索结果如何。有人能帮我吗?

$.getJSON("test.php", function(data) {
var newData = [];

$.each(data, function(i) {
newData.push({
value: data[i].Id,
label: data[i].Name
});
});

data2 = JSON.stringify(newData);

$('#Major').autocomplete({
minLength: 2,
source: function(request, response) {
var q = request.term;
var myResponse = [];
$.each(JSON.parse(data2), function(key, item) {
if (item.label.toLowerCase().indexOf(q) === 0) {
myResponse.push(item);
}
});
response(myResponse);
}
});

最佳答案

一旦 AJAX 调用完成,您只需将默认项 push() 到数组末尾即可。另请注意,您可以通过使用 map()filter() 而不是显式循环来改进代码,而且您不需要字符串化然后重新解析JSON,那是多余的。试试这个:

$.getJSON("test.php", function(data) {
var newData = data.map(item => {
value: item.Id,
label: item.Name
});

// add your default here...
newData.push({
value: 'foo',
label: 'bar'
});

$('#Major').autocomplete({
minLength: 2,
source: function(request, response) {
var myResponse = newData.filter(item => item.label.toLowerCase().indexOf(request.term) === 0);
response(myResponse);
}
});
});

关于javascript - 每次我想在自动完成搜索列表的末尾显示一个默认值,无论搜索结果如何。有人能帮我吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59561492/

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