我的JSON就像这样
var data = [{"code":"1162","format":"Subscription","name":"Picture Manager ","action":"202"},
{"code" : "1094","format":"Store","name":"Listing Designer","action":"168"},
{"code" : "1407","format":"Subscription","name":"MOTOR_PACKAGE","action":"403"},
{"code" : "1024","format":"Fixed Price","Name":"Picture","action":"120"},
{"code" : "1051","format":"Auction","name":"Gallery Days","action":"49"},
{"code" : "5059","format":"Lead Generation","name":"Scheduled Listings","action":"160"}];
我可以创建一个像
这样的建议函数的jQuery
$(document).ready(function(){
serverurl = "getJson";
$.getJSON( serverurl, function(data) {
$("#feeCode").autocomplete({
source: function (request, response) {
response($.map(data, function(v,i){
return {
label: v.format+' / '+v.name+' ('+v.code+')' ,
value: v.format+' / '+v.name+' ('+v.code+')'
};
}));
}
});
});
});
HTML
<input class="catinputbox" type="text" id="feeCode" >
它会显示像这样的建议
Auction / Gallery Days (1051)
Fixed Price / Picture (1024)
但它没有搜索模式,建议是静态的。我想搜索并给出他提供的字符串的适当建议。就像他打字&#34;固定&#34;建议应该是&#34;固定价格/图片(1024)&#34;或者如果他输入&#34; Days&#34;或&#34; 1051&#34;那么&#34;拍卖/画廊日(1051)&#34;。
我之前从未使用过自动填充,如果有人可以解释我自动完成,请求,响应和搜索。这对我很有帮助
答案 0 :(得分:2)
你关闭了,只是做了一些调整:
$(document).ready(function() {
serverurl = "getJson";
$.getJSON(serverurl, function(data) {
/* When the response comes back, create an array of objects that the
* autocomplete widget can use, using `$.map`:
*/
var autocompleteData = $.map(data, function(v, i) {
return {
label: v.format+' / '+v.name+' ('+v.code+')' ,
value: v.format+' / '+v.name+' ('+v.code+')'
};
});
/* Initialize the autocomplete widget with the prepared data: */
$("#feeCode").autocomplete({
source: autocompleteData
});
});
});
示例: http://jsfiddle.net/fny66zkd/
在这种情况下,您不需要为source
参数提供功能。如果要执行自定义AJAX请求或其他类型的自定义过滤功能,请执行此操作。
您的代码之前没有工作,因为当您向source
参数提供函数时,您基本上告诉窗口小部件您想要进行过滤
我之前从未使用过自动填充,如果有人可以解释我自动完成,请求,响应和搜索。这对我很有帮助
source
选项提供回调函数(或字符串或数组)。此函数接受两个参数request
和response
。
request
是一个对象,包含有关用户输入内容的信息。您可以访问request.term
。response
是jQueryUI传递函数的回调函数。当您准备好通知要向用户显示的结果集的窗口小部件时,可以调用此函数。search
方法手动调用自动完成小部件的搜索功能。同样,official documentation。