gpt4 book ai didi

javascript - Twitter Bootstrap 提前输入延迟

转载 作者:行者123 更新时间:2023-12-03 03:44:32 26 4
gpt4 key购买 nike

我使用 twitter bootstrap typeahead 来显示来自服务器的一些数据,问题是当用户输入一个字母 typeahead 时会对服务器进行 ajax 调用,当我尝试快速输入 2 或 3 个字母时,它会进行 2 或 3 个 ajax 调用服务器,当用户输入字母以仅对服务器进行一次 ajax 调用时,是否有可能造成延迟

我现在的代码:

$('#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
});

最佳答案

使用此解决方案:

(function() {
var timeout;

$('[name="fill"]').typeahead({
source: function(value) {
if (timeout) {
clearTimeout(timeout);
}

timeout = setTimeout(function() {
alert(value);
}, 300);
}
});
})();

查看实际操作:

http://jsfiddle.net/nnPVn/

setTimeout 和clearTime 工作正常!

关于javascript - Twitter Bootstrap 提前输入延迟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318350/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com