Я использую пакет twitter typeahead. У меня есть такой код:
var results = new bloodhound({...})
//results is a map in json with the keys ID and displayName. It's grabbed by ajax call.
$('#element').typeahead({
...
{
name: 'Results',
displayKey: 'displayName',
source: results.ttAdapter(),
}...
Это работает очень, очень хорошо. Результаты заполняются по мере того, как пользователи вводят текст. Однако у меня есть одна проблема: когда пользователь нажимает «отправить», значение, которое мне нужно получить, — это не отображаемое имя, а идентификатор.
Если пользователь вводит «Экзамен», скажем, карта результатов выглядит так: {"id":"100","displayName":"Example1"}. Они нажимают «Пример1», и пример1 переходит в текстовое поле. Однако, когда пользователь нажимает «Отправить», я хочу, чтобы «100» исходило от этого элемента, а не «Example1». Это возможно?