ajax - 使用 Bloodhound 时如何将 ajax 全局事件设置为 false
问题描述
我正在使用 typeahead 进行自动完成。以下代码工作正常。
var employees = new Bloodhound({
datumTokenizer: function (d) { return Bloodhound.tokenizers.whitespace(d.name); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
addOnBlur: true,
remote: {
url: $url + '?name=%QUERY',
global: false,
wildcard: '%QUERY',
filter: function (response) {
return $.map(response.results, function (employee) {
return {
mark: employee.MARK,
actitle: employee.ACCOUNTTITLE,
code: employee.CODE
}
});
}
}
});
employees.initialize();
$($classname).typeahead({ highlight: true, minLength: 1, limit: 5 }, {
name: 'employees', displayKey: 'mark', source: employees.ttAdapter(), global: false
})
.on("typeahead:selected", function (obj, company1) {
//debugger;
$($retField).val(company1.actitle);
$($cField).val(company1.code);
})
.on('focusout', function (obj, company) {
//debugger;
$($classname).trigger("typeahead:first-child");
});
}
我想将 ajax 全局事件设置为 false。请帮我解决问题
解决方案
派对迟到了,但我想通了。使用transport
属性:
var employees = new Bloodhound({
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.name);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
addOnBlur: true,
remote: {
url: $url + '?name=%QUERY',
global: false,
wildcard: '%QUERY',
transport: function(opts, onSuccess, onError) {
var url = opts.url.split("#")[0];
var query = opts.url.split("#")[1];
$.ajax({
url: url,
data: "search=" + query,
type: "POST",
success: onSuccess,
error: onError,
global: false
})
}
filter: function(response) {
return $.map(response.results, function(employee) {
return {
mark: employee.MARK,
actitle: employee.ACCOUNTTITLE,
code: employee.CODE
}
});
}
}
});
employees.initialize();
基于this other stackoverflow answer:
推荐阅读
- asp.net-core - SaveChangesAsync() 挂在 EF Core 3.1 中
- python - search in the values of my XML with Python
- java - 如何在 IntelliJ 中打包和分发我的 JavaFX 应用程序?
- c++ - How to determine if two straights are (almost) perpendicular / orthogonal
- augmented-reality - 查看放置的 PNG 时 USDZ 文件的闪烁/碎片视觉效果
- nginx - Nginx:本地站点加载一段时间,然后以“找不到服务器”中止
- html - 如何在 Material Paginator 中更改 pageSizeOptions 的内容
- javascript - find the length of array using map function ES6
- java - 关闭登录maven
- html - 缩小时使文本周围的区域变大