我正在尝试使用JQuery类别Catcomplete为我的网站创建搜索输入,该搜索输入将搜索位于“ /file.jsp”中另一个文件中的结果。 file.jsp的结果是一个JSON字符串(下面列出了文件内容)。问题是当我输入输入文本时,自动完成结果会增加。 例如,当我在searchDealer中写00时,结果是3,当我写0000时,结果是6,依此类推。 自动完成结果始终都是可见的。
这是我的代码:
$(function( request, response) {
var tally = new Object();
var idx;
$.widget("custom.catcomplete", $.ui.autocomplete, {
_renderMenu: function(ul, items) {
var self = this,currentCategory = "";
$.each(items, function(index, item) {
if (item.category != currentCategory) {
ul.append("<li class='ui-autocomplete-category'>" + item.category + "(<span id='autocomplete_"+item.category+"'></span>)</li>");
currentCategory = item.category;
}
if(currentCategory!=''){
tally[currentCategory] = (tally[currentCategory]==undefined) ? 1 : tally[currentCategory]+1;}
self._renderItem(ul, item);
});
for(category in tally){
$('#autocomplete_'+category).html(tally[category]);
};
}
});
$("#searchDealer").catcomplete({
source: "file.jsp",
minLength: 2,
delay: 0,
select: function(event, ui) {
alert('Select');
}
});
});
这是file.jsp
的json响应:
[
{"label":"000123 dealer S.r.l.","category":"Concessionari"},
{"label":"000456 AUTOMOTORS abc SNC","category":"Concessionari"},
{"label":"000789 AbcAUTO SRL","category":"Concessionari"}
]
有人可以帮助我吗?
答案 0 :(得分:0)
我解决了。问题出在源头:
$.ajax({
type: "GET",
url: "file.jsp",
dataType: "json",
error: function( jqXHR, textStatus, errorThrown)
{
if(jqXHR.status == 401)
{
alert(expiredSessionMessage);
$('#logoutLink').find('a.linkCommon').click();
}
},
success: function(json){
$("#searchDealer").catcomplete({
source: json
});
}
});