【发布时间】:2014-03-20 15:23:55
【问题描述】:
我已经开始使用 Typeahead.js,并且正在努力找出一种方法,允许用户输入和搜索公司名称,一旦选择输入相关的公司代码。
.json 文件:
[{
"company_name": "Facebook",
"code": "fb",
}, {
"company_name": "Google",
"code": "goog",
}, {
"company_name": "Yahoo",
"code": "yhoo",
}, {
"company_name": "Apple",
"code": "aapl",
}, {
"company_name": "Royal Mail",
"code": "rmg.l",
}]
.js 脚本:
var stocks = new Bloodhound({
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.code);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 3,
prefetch: {
url: 'javascripts/stockCodes.json',
filter: function(list) {
return $.map(list, function(stock) {
return {
code: stock
};
});
}
}
});
stocks.initialize();
$('.typeahead').typeahead(null, {
name: 'stocks',
displayKey: 'code',
source: stocks.ttAdapter()
});
目前,这仅在用户在输入字段中键入时显示代码列表。但是,我想知道是否有办法让他们搜索code,但一旦选择,文本框中的值是company_name?这甚至可以使用这个插件。任何帮助将不胜感激。
谢谢!
【问题讨论】:
-
你能改变你的数据结构吗?
-
@Tomanow 是的,当然。我只是认为这种结构会很有效。谢谢
-
我刚刚更新了我的答案。现在应该更准确了。
标签: javascript jquery json typeahead.js