我不知道为什么,但我有typeahead.js并使用它的例子它完美地工作。但是,如果我更改看起来相同的数据,它就不起作用。我不明白为什么:
var jdata_1 = [{
"urRouteName": "Test Route Name"
}, {
"urRouteName": "Beesmore Road"
}];
var jdata = [{
"val": "Alabama"
}, {
"val": "Alaska"
}, {
"val": "Arizona"
}, {
"val": "Arkansas"
}];
var routeName = new Bloodhound({
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.val);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: jdata_1
});
routeName.initialize();
$('#routeName').typeahead({
highlight: true
}, {
displayKey: 'urRouteName',
//displayKey: 'val',
source: routeName.ttAdapter()
});
使用' jdata'与displaykey' val'是一种享受。
但是使用' data_1'使用displaykey' urRouteName'失败,但没有错误。
不知道为什么?
答案 0 :(得分:1)
您忘了更新datumTokenizer
datumTokenizer: function (d) {
return Bloodhound.tokenizers.whitespace(d.urRouteName);
}
这是一个友好的Demo