我开始使用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
?是否可以使用此插件实现这一点。非常感谢您的任何帮助。
谢谢!