2013-08-02 24 views
16

我正在嘗試使用Twitter typeahead.js在選擇後返回數據。從我通過文檔瞭解的代碼應該看起來像typeahead.js獲取選定的數據

$('.selector').typeahead({ 
    name: 'identifier', 
    local: localObjectsArray 
}).on('autocompleted', function(item){ 
    alert(JSON.stringify(item)); 
}); 

但是,這是行不通的。什麼是檢測typeahead事件的正確方法?

回答

43

選擇後,所以你需要typeahead:selected

$('.selector').typeahead({ 
    name: 'identifier', 
    local: localObjectsArray 
}).on('typeahead:selected', function (obj, datum) { 
    console.log(obj); 
    console.log(datum); 
}); 

希望它能幫助。

+3

這是一個很好的提示,但應該編輯爲使用.on()而不是.bind() 請參閱http://stackoverflow.com/questions/8065305/whats-the-difference-between-on生活或綁定 – dualmon

+0

我認爲使用'.on()'是爲了矯枉過正,當'.bind()'被棄用時,我會更新答案。 –

+4

不夠公平,但只是爲了記錄,「從jQuery 1.7開始,.on()方法是用於附加事件處理程序的首選方法」,來自http://api.jquery.com/bind/ – dualmon