我正在使用这个名为FCBKcomplete的自动完成插件,它的功能就像魅力一样。 我唯一的问题和担忧是,显然(我的想法)当我在输入中输入一个字符来获得结果的下拉列表时,所有结果将作为JSON响应返回,然后将搜索该响应在下拉列表中显示我的结果。
换言之,请说以下是我的网址:http://this.com/usersAPI.do
搜索查询将类似于:
select * from user_table
当请求被发送到此URL时,所有结果都将返回,并且大小根本不小。
我正在寻找的是我可以搜索输入字段中输入的字符的方式。所以这样的网址:
http://this.com/usersAPI.do?name=?
以便执行的查询类似于
select * from user_table where name like xxx
xxx是我到目前为止输入的字符。所以我输入的下一个字符是查询更改为
select * from user_table where name like xxxy
等等
这样可以减轻JSON响应,降低服务器负载。
所以请帮助我,谢谢,
答案 0 :(得分:0)
嗨,你可以使用这样的东西。
$( "#fieldId").autocomplete({
source:
function( request, response ) {
$.ajax({
url: "test.do",
data : {"searchText":request.term}
context: document.body
}).done(function() {
response( $.map( data.dropValues, function( item ) {
var returnObj = new Object();
returnObj['label'] = item.id + '--' + item.value;
}
});
},
minLength: 1,
mustMatch:true,
autoSelect :true,
delay:0,
}).data( "autocomplete" )._renderItem = function( ul, item ) {
var html = '<li><a>' + item.label;
html += '</a></li>';
return $(html).data('item.autocomplete', item).appendTo( ul );
};