Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 每次我想在自动完成搜索列表的末尾显示一个默认值,而不考虑搜索结果。有人能帮我吗?_Javascript_Jquery_Autocomplete_Jquery Ui Autocomplete - Fatal编程技术网

Javascript 每次我想在自动完成搜索列表的末尾显示一个默认值,而不考虑搜索结果。有人能帮我吗?

Javascript 每次我想在自动完成搜索列表的末尾显示一个默认值,而不考虑搜索结果。有人能帮我吗?,javascript,jquery,autocomplete,jquery-ui-autocomplete,Javascript,Jquery,Autocomplete,Jquery Ui Autocomplete,我的test.php文件中有JSON数据,显示在jQuery自动完成控件的搜索结果中 每次我想在自动完成选项列表的末尾显示一个默认值(也存在于JSON数据中),而不管搜索结果如何。有人能帮我吗 $.getJSON(“test.php”),函数(数据){ var newData=[]; $。每个(数据、功能(i){ newData.push({ 值:数据[i].Id, 标签:数据[i]。名称 }); }); data2=JSON.stringify(newData); $(“#主要”)。自动完成(

我的test.php文件中有JSON数据,显示在jQuery自动完成控件的搜索结果中

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

$.getJSON(“test.php”),函数(数据){
var newData=[];
$。每个(数据、功能(i){
newData.push({
值:数据[i].Id,
标签:数据[i]。名称
});
});
data2=JSON.stringify(newData);
$(“#主要”)。自动完成({
最小长度:2,
来源:功能(请求、响应){
var q=请求期限;
var myResponse=[];
$.each(JSON.parse(data2)、函数(键、项){
if(item.label.toLowerCase().indexOf(q)==0){
myResponse.push(项目);
}
});
反应(myResponse);
}
});
一旦AJAX调用完成,您就可以
将默认项推送到数组的末尾。还要注意的是,您可以通过使用
map()
filter()
来改进代码,而不必显式循环,也不需要字符串化然后重新解析JSON,这只是多余的。尝试一下:

$.getJSON(“test.php”),函数(数据){
var newData=data.map(项=>{
值:item.Id,
标签:项目名称
});
//在此处添加默认值。。。
newData.push({
值:“foo”,
标签:“酒吧”
});
$(“#主要”)。自动完成({
最小长度:2,
来源:功能(请求、响应){
var myResponse=newData.filter(item=>item.label.toLowerCase().indexOf(request.term)==0);
反应(myResponse);
}
});
});