我很高兴让整个过程发挥作用,但还有最后一个错误。当我单击/悬停在已过滤的列表上时,搜索字节中的值显示一个对象而不是所选的值。
$('#searchbox').typeahead({
limit: 10,
minLength: 3,
remote: {
url: '/typeahead?s=%QUERY',
filter: function(parsedResponse) {
return _.map(parsedResponse, function(res){
return {
value: res, /// I need this object for further functions, but I don't want this to be displayed in the searchbox....
}
});
}
},
template: function (data) {
return '<p>'+data.value.name+'</p>';
}
});
答案 0 :(得分:0)
每the docs,template
是哈希,而不是函数。更具体地说,数据集可以支持不同类型的模板。您正在寻找的是suggestion
模板。
Soo ...你的调用和选项对象看起来像这样(未经测试):
$('#searchbox').typeahead({
limit: 10,
minLength: 3,
remote: {
url: '/typeahead?s=%QUERY',
// ..filter and other stuff ..
template: {
// Modifies what's displayed in the suggestion list
suggestion: function (data) {
return '<p>'+data.value.name+'</p>';
}
},
// Modifies what's displayed in the input after a suggestion is selected
displayKey: function(data) {
return data.value.name;
}
});