1
所以我試圖使用Twitter的Typeahead自動完成庫。我預取了一些我擁有的JSON數據,然後將我需要的信息放入數組中。我給這家代碼可以看到下面:Twitter Typeahead With Prefetched JSON
var test = new Bloodhound({
datumTokenizer: function(d) { return Bloodhound.tokenizers.whitespace(d.name); },
queryTokenizer: Bloodhound.tokenizers.whitespace,
limit: 10,
prefetch: {
url: 'http://localhost:3000/suggestions',
filter: function(list) {
nameArray = [];
for(var i = 0; i < list.length; ++i){
nameArray.push(list[i].name);
}
window.alert(nameArray)
return nameArray;
}
}
});
test.initialize();
$('.example-test .typeahead').typeahead(null, {
name: 'test',
source: test.ttAdapter()
});
我使用的警報,以確保該數組是什麼,我希望它是,這僅僅是一個字符串數組。
上面的代碼似乎沒有產生任何東西,但。我沒有獲得自動完成功能。該數組生成正確,所以我不確定問題是什麼。我使用Twitter提供的示例測試了我的HTML和CSS,並且它們完美無瑕地工作。任何幫助是極大的讚賞。
你能更清楚地回答你的問題嗎?我試圖把「$('example-test.typeahead')。typeahead(null,{ name:'test', source:test.ttAdapter() });」在一個函數中,但似乎沒有解決這個問題。對不起,一位JavaScript新手。感謝您的幫助。 –
您需要在預取完成後才調用該塊(預先打印)。我不熟悉你的模型,我不確定在哪裏告訴你調用這個函數。 –