Так я прошел объект, который выглядит следующим образом:Как использовать движок предложений Bloodhound? (Объекты нескольких собственности передается локально)
[{id: 1, name: 'Project A', type: 'C'}, {id: 2, name: 'Project B', type: 'A'},]
И я пытаюсь передать его через Bloodhound Engine так:
var mySource = new Bloodhound({
identify: function (obj) { return obj.id; },
queryTokenizer: Bloodhound.tokenizers.whitespace,
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
local: datasource
});
Для следует использовать typeahead.js следующим образом:
$(control)
.typeahead({
hint: true,
highlight: true,
minLength: 0
},
{
source: mySource
});
Но он просто никогда не работает. Я не уверен, что я делаю неправильно.
Я просто хочу, чтобы имя было доступно для поиска. Идентификатор и тип передаются по адресу .on('typeahead:autocomplete')
в более позднее время.
EDIT: Там нет ошибок в консоли, и положить console.log(mySource);
сразу после создания объекта ищейка производит Bloodhound объект:
Есть ли ошибки в консоли? Возможно, вам нужно будет указать ему имя: '{name: 'my-typeahead', source: mySource}' –
Это потому, что ваш '.typeahead()' неправильно установлен ниже. Ваш 'mySource' является объектом Bloodhound, но у вас нет имени или displayKey –
Joseph: Я разместил информацию о консоли. (Хотя проблема теперь решена) - Спасибо, хотя! – Bitz