我的寻血猎犬对象被两个预输入重复使用,每个预输入旁边都有一个隐藏图像,即这两个图像:#loading-1
和#loading-2
,
galleriesBloodhound = new Bloodhound({
datumTokenizer: function (gallery) { return gallery.name; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/GalleriesAjax/List?nameQuery=%QUERY',
beforeSend: function (xhr) {
},
filter: function (response) {
return response.pageOfGalleries;
}
}
});
提前输入 #1:
$("#gallery-name").typeahead({
highlight: false,
hint: true,
},
{
name: 'galleries',
displayKey: function (gallery) { return gallery.displayName; },
source: galleriesBloodhound.ttAdapter()
}).on(..).on(..)...
Typeahead #2(相同的代码)
$("#gallery2-name").typeahead({
highlight: false,
hint: true,
},
{
name: 'galleries',
displayKey: function (gallery) { return gallery.displayName; },
source: galleriesBloodhound.ttAdapter()
}).on(..).on(..)...
如何在 ajax 请求尚未返回的情况下显示正确#loading-1
的?#loading-2
在 typeahead.js 的网站中,他们建议使用beforeSend
and filter
,但是“从那里”我怎么知道哪个 typeahead 是调用寻血猎犬的那个?
beforeSend: function (xhr) {
$("#loading-i").show(); // How do I figure "i" ??
},
filter: function (response) {
$("#loading-i").hide(); // How do I figure "i" ??
return response.pageOfGalleries;
}
// i depends on the typeahead that is using "this" bloodhound