ブラッドハウンド エンジンとハンドルバー テンプレートを備えたtypeahead.js
バージョンを使用しています。0.10
ブラッドハウンド エンジンでは、入力フィールドで検索する変数として変数を渡しています。
それにもかかわらず、入力するときに、テンプレートにオブジェクトの他の変数を表示させたい(たとえば、value_to_be_searched = name および other_vars = location || last_name など...
次の例では、変数をデフォルト値とともにmovies.json
表示したいと思います。release_date
original_title
var movies = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.value); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
prefetch: {
url:'http://localhost/dh/js/movies.json',
filter: function(data) {
return $.map(data, function(movie) {
return { value: movie.original_title};
});
}
}
});
movies.initialize();
$('#cenas5').typeahead(null,
{
name: 'movies ',
displayKey: 'value',
source: movies .ttAdapter(),
templates: {
header: '<h3 class="">Users</h3>',
empty: [
'<div class="empty-message">',
'unable to find any matches',
'</div>'
].join('\n'),
suggestion: Handlebars.compile('<p><strong>{{value}}</strong> - {{release_date}}</p>')
}
});
JSON ファイル:
"movies":[
{
"adult": false,
"backdrop_path": "/8uO0gUM8aNqYLs1OsTBQiXu0fEv.jpg",
"id": 550,
"original_title": "Fight Club",
"release_date": "1999-10-15",
"poster_path": "/2lECpi35Hnbpa4y46JX0aY3AWTy.jpg",
"popularity": 61151.745000000003,
"title": "Fight Club",
"vote_average": 9.0999999999999996,
"vote_count": 174
},
{
"adult": false,
"backdrop_path": "/5Z0FScA1bB6EbdGmZCUBeUk32eV.jpg",
"id": 14476,
"original_title": "Clubbed",
"release_date": "2008-10-02",
"poster_path": "/bl6PEQtmohEP1zP9srNZY6bXyHg.jpg",
"popularity": 1.7290000000000001,
"title": "Clubbed",
"vote_average": 7.7999999999999998,
"vote_count": 3
}
]