【发布时间】:2014-03-18 00:36:54
【问题描述】:
请看下面的例子。
JSFiddle:http://jsfiddle.net/R7UvH/2/
如何让typeahead.js (0.10.1) 在多个属性值中搜索匹配项?理想情况下,在整个data(data.title、data.desc 和所有data.category[i].name)内
datumTokenizer: function(data) {
// **search in other property values; e.g. data.title & data.desc etc..**
return Bloodhound.tokenizers.whitespace(data.title);
},
整个例子:
var data = [{
title: "some title here",
desc: "some option here",
category: [{
name: "category 1",
}, {
name: "categoy 2",
}]
},
{
title: "some title here",
desc: "some option here",
category: [{
name: "category 1",
}, {
name: "categoy 2",
}]
}];
var posts = new Bloodhound({
datumTokenizer: function(data) {
// **search in other property values; e.g. data.title & data.desc etc..**
return Bloodhound.tokenizers.whitespace(data.title);
},
queryTokenizer: Bloodhound.tokenizers.whitespace,
local: data
});
posts.initialize();
$('#search-input').typeahead({
highlight: true
}, {
name: 'Pages',
displayKey: 'title',
source: posts.ttAdapter(),
templates: {
header: '<h3>Pages</h3>'
}
});
【问题讨论】:
标签: javascript jquery typeahead typeahead.js bloodhound