我正在使用twitter typeahead bundle。我有这样的代码:
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(),
}...
这非常非常好。当用户输入内容时,结果将被填充。但是,我遇到的一个问题是当用户点击“提交”时,我需要抓取的值不是displayName,而是ID。
如果用户输入“考试”,假设结果地图如下所示:{“id”:“100”,“displayName”:“Example1”}。他们点击“Example1”,然后example1跳转到文本框。但是,当用户单击提交时,我希望“100”来自该元素,而不是“Example1”。这可能吗?
答案 0 :(得分:1)
您可以使用typeahead selected handler
.on("typeahead:selected", function(event, item) {
$("#hiddenInputToSubmit").val(item.id);
return;
}
也许这对你有用吗?