【发布时间】:2016-10-13 14:58:56
【问题描述】:
我正在使用 Bloodhound 并尝试重置 local 选项。在我的网页上,我有一种情况,如果用户选择两个选项之一,建议数据将会改变。但是当我设置本地数据时,我无法获得建议。下面是我如何创建寻血猎犬,将其设置为使用名为“spray”的数组:
var dataSetBloodhound = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: spray
});
因此,如果用户选择喷雾,jQuery 会捕获它并尝试将喷雾数组设置为本地
//If spray is picked
if( checked == "Spray") {
// Clear the object
dataSetBloodhound.clear();
// Set the local 'data' to spray
dataSetBloodhound.local = spray;
// Reinit the object
dataSetBloodhound.initialize()
// Prints out the local data.(This prints out the data of spray)
console.log(dataSetBloodhound.local);
//etc }
如果用户选择肥料,则功能与上述相同,只是传递了一个fertilizer 数组。
如果我在列表中使用,我可以让它们工作,但我似乎无法交换寻血犬的本地数据。然而,在我initialize() 之后,我可以console.log(dataSetBloodhound.local) 并且可以在控制台中查看元素,但是如果我尝试从下拉列表中获得建议,它就不起作用。有什么想法吗?
【问题讨论】:
标签: javascript jquery bloodhound