2014-02-05 68 views
0

我正在使用twitter typeahead束。我有這樣的代碼:Twitter Typeahead數據傳遞

var results = new bloodhound({...}) 
    //results is a map in json with the keys ID and displayName. It's grabbed by ajax call. 

    $('#element').typeahead({ 
    ... 
    { 
     name: 'Results', 
     displayKey: 'displayName', 
     source: results.ttAdapter(), 
    }... 

這很有效。結果正在填充爲用戶鍵入的東西。然而,我遇到的一個問題是,當用戶點擊「提交」時,我需要獲取的值不是displayName,而是ID。

如果用戶輸入「Exam」,假設結果地圖如下所示:{「id」:「100」,「displayName」:「Example1」}。他們點擊「Example1」,example1跳轉到文本框。但是,當用戶點擊提交時,我希望「100」來自該元素,而不是「Example1」。那可能嗎?

回答

1

你可以使用選擇處理程序

.on("typeahead:selected", function(event, item) { 
    $("#hiddenInputToSubmit").val(item.id); 
    return; 
} 

也許這會爲你工作的預輸入?