2012-09-26 111 views
3

我試圖通過json傳遞一組值到Bootstrap Typeahead插件的source:選項。將數組傳遞到指針Bootstrap

這裏是我的簡單的代碼:JsFiddle

我有一個JSON對象,我想只是值id傳遞給source: array

我做錯了什麼..我嘗試了很多東西。

回答

4

Twitter的typeahead期待一個Javascript數組類型。因此,您需要使用JSON.parse(myJSONObject)將您的JSON對象轉換爲合法數組。然而,typeahead也期望一個字符串數組,而不是數組數組...因此,問題是 - 這些數組的哪個參數是你想要在前面顯示的?

{ 
    "id":"2", 
    "pid":"0", 
    "type":"Group", 
    "code":"g", 
    "status":"1" 
} 

它看起來像你的vals功能隔離id參數。如果這是您想要顯示的參數,只需將source指向x即可。結帳這個修改的jsfiddle:

+0

我想顯示id。在vals()我返回this.id. –

+0

我在小提琴上看不到任何變化...... –

+0

您只需要移動這個'var input = $('#test'); input.typeahead({source:x});'到javascript代碼的底部,它應該適合你。 –

1

也有當地屬性用於此目的。

您可以在typeahead中使用本地屬性來提供數組而不必按摩數據。

例如

var data = ["john", "terry", "phil","stuart","louis","marie","bob"]; 

$("#user-search").typeahead({ 
    name: "user-search", 
    local: data, 
    limit: 10 
});