16
我使用Twitter的引导预输入从服务器显示的一些数据,问题是用户键入一个字母键盘缓冲,使一个AJAX调用服务器时,当我试图快速型2或3个字母就会使2或3 AJAX调用服务器,是否有可能作出延迟,当用户键入字母仅做一个Ajax调用服务器Twitter的引导预输入延迟
我此刻代码:
$('#SEARCH-INPUT').typeahead({
source: function (query, process) {
jQuery.ajax({
type: "GET",
url: "/organisations/search",
data: {search_name: $("#SEARCH-INPUT").val()},
beforeSend: function(){
$("#SEARCH-LOADING").show();
},
success: function (data) {
organisations = [];
organisations_hash = {};
$.each(data, function(i, item){
organisations_hash[item.name.toUpperCase()] = item.id;
organisations.push(item.name);
});
organisations.sort();
$("#SEARCH-LOADING").addClass("hidden");
process(organisations);
},
error: function(){ alert("error");},
async: false
});
}
,updater: function (item) {
$("#SEARCH-INPUT").val(item);
$("#SEARCH-BUTTON").click();
return item;
}
,items: 9
,minLength: 1
});
谢谢你,完美的作品 – Maki
它有一个缺陷 - 快速,如果你有一个的minLength集,那么当你退格通过输入文本并清除输入,然后超时STIL结束了射击。我希望它不要......看到这个例子:http://jsfiddle.net/nnPVn/16/ –
上面的问题不会有这个问题造成的minLength为1(默认值)。 – MrBoolean