Возможно, я использую неправильные инструменты для этого, поэтому, пожалуйста, рекомендуйте другие подходы, если они подходят. Я вполне уверен, что моя проблема заключается в моем методе typeahead, а не в методе ищейки.Как управлять массивом хэшей с помощью typeahead.js
Мне нужно выполнить поиск по персонеName, но заполнить personId для отправки формы. У меня есть рабочий контроллер, который передает результаты как массив хэшей с идентификатором и именем. Результат выборки выглядит следующим образом:
[{"1":"Nominee Employee"},{"2":"User Employee"}]
Я не могу найти документы, которые касаются моей потребности. Я знаю, что код изнасилования вызывает мой метод контроллера, потому что журналы показывают запрос. Я просто не вижу ничего, что говорит: «Вот как вы получаете конкретный атрибут из отображаемой записи».
var names = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.obj.whitespace('name'),
queryTokenizer: Bloodhound.tokenizers.whitespace,
remote: {
url: '/employee/lastNameOptions?term=%QUERY',
wildcard: '%QUERY'
}
});
$('#bloodhound .typeahead').typeahead(null, {
name: 'names',
display: 'name',
source: names
});
я ожидал бы текущую реализацию, по крайней мере, попытаться напечатать 1: Joe Schmo
но он загружается пустой выпадающий список, поэтому он должен «знать» о результатах.
Спасибо!