js autocomplete输入延迟触发执行事件
需求:延迟查询,autocomplete延迟触发执行事件。当有下一个事件开始时,本次事件中断。目的是为了防止调用服务器过于频繁。
var timeout = 0;//延时处理 $("#customerName").autocomplete({ minLength: 0, source: function (request, response) { clearTimeout(timeout); console.log(timeout); var customerName = $("#customerName").val(); var cutomerToken = $("#cutomerToken").val(); timeout = setTimeout(function () { console.log("run"); $.ajax({ url: "api/pmstransaction/getcustomerbybigdata", dataType: "json", data: { customerName: customerName, token: cutomerToken }, success: function (data) { response(data.Data); } }); }, 800); }, focus: function (event, ui) { $("#customerName").val(ui.item.Name); return false; }, select: function (event, ui) { module.viewModel.customerInfo.CustomerName(ui.item.Name); module.viewModel.customerInfo.CustomerTaxCode(ui.item.TaxCode); module.viewModel.customerInfo.CustomerAddressPhone(ui.item.AddressPhone); module.viewModel.customerInfo.CustomerBankAccount(ui.item.BankAccount); ); return false; } }).autocomplete("instance")._renderItem = function (ul, item) { return $("<li>") .append("<div>" + item.Name + "</div>") .appendTo(ul); }
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】按钮。
如果,您希望更容易地发现我的新博客,不妨点击一下【关注我】
出处:http://www.cnblogs.com/xuwendong/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。