【发布时间】:2014-04-03 02:57:00
【问题描述】:
我对 typeahead.js 使用以下代码
var countries = new Bloodhound({
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.en_name);
},queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 100,
remote: {
url: 'http://domain.com/json.php?action=countries',
}
});
countries.initialize();
$('.lang').typeahead(null, {
name: 'countries',
displayKey: 'en_name',
source: countries.ttAdapter()
});
json 是:
[{"id":"1","cz_name":"\u010de\u0161tina","en_name":"Czech"},{"id":"2","cz_name":"angli\u010dtina","en_name":"English"},{"id":"3","cz_name":"n\u011bm\u010dina","en_name":"German"}]
当我开始输入任何内容时,即使是与任何所需结果都不匹配的内容,我都会得到所有建议。
当我使用时:
var countries = new Bloodhound({
datumTokenizer: function(d) {
return Bloodhound.tokenizers.whitespace(d.en_name);
},queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 100,
local: [{"id":"1","cz_name":"\u010de\u0161tina","en_name":"Czech"},{"id":"2","cz_name":"angli\u010dtina","en_name":"English"},{"id":"3","cz_name":"n\u011bm\u010dina","en_name":"German"}]
});
它工作得很好。我做错了什么?
【问题讨论】: