3 つのデータセットの検索に先行入力を使用しています。minLength を含めない場合、データセットはコードにリストされている順序でレンダリングされます。すべてではなく一部のデータセットに minLength を含めると、順序が変わります (以下のコードを参照)。私が抱えている問題は、ユーザー リストを常にドロップダウンの最初に表示し、トピック リストを常に 2 番目に表示し、sec-list を常に 3 番目に表示することです。
$('#autocomplete').typeahead([
{
name: 'users-list',
prefetch: {url: "/prefetch_users/", ttl:1},
template: [
'<p class=""><a href={{url}}>{{name}}</a></p>',
'<img class="userimg_small" src="{{img}}">'
].join(''),
engine: Hogan,
limit: 4,
minLength: 2
},
{
name: 'topic-list',
prefetch: {url: "/prefetch_topics/", ttl:1},
template: '<p class=""><a href={{url}}>{{value}}</a></p>',
engine: Hogan,
limit: 3,
minLength: 3
},
{
name: 'sec-list',
prefetch: {url: "/prefetch_secs/", ttl:1},
remote: {url: "/remote_secs/?q=%QUERY", ttl:1, rateLimitWait: 150},
template: '<p class=""><a href={{url}}>{{ticker}} - {{name}}</a></p>',
engine: Hogan
}
]);