2013-07-21 78 views
0

好了,所以我想填充Twitter的引導的預輸入,我跟着這個答案: Twitter bootstrap Typeahead to populate hrefsAJAX,PHP和Twitter的引導預輸入

但我不斷收到:

Uncaught TypeError: Cannot call method 'toLowerCase' of undefined edit-group?id=14:239 $.typeahead.matcher edit-group?id=14:239

下面是代碼它:

matcher: function (obj) { 
    var item = JSON.parse(obj); 
    return ~item.title.toLowerCase().indexOf(this.query.toLowerCase()) 
}, 

我看着網絡標籤,看是否得到正確的數據,我得到這個:

0: {title:The1Prodigy1, href:1} 
href: 1 
title: "The1Prodigy1" 
1: {title:test_suspend_user, href:4} 
href: 4 
title: "test_suspend_user" 
    2: {title:test_ban_user, href:5} 
3: {title:test_delete_user, href:6} 
4: {title:user_test_edit, href:7} 

最後一個問題,我需要href嗎?因爲,我想要做的就是幫助用戶輸入正確的用戶名。我不希望它被鏈接到另一個頁面或任何東西。這是一個形式...

編輯: 我添加了item.title的警報,它發回未定義...爲什麼?

感謝, 阿糖胞苷

+0

'return〜item.title.toLowerCase()...'so'〜item' is typo? –

+0

我拿走了〜,但它發送了同樣的錯誤信息... –

回答

0

如果你事先鍵入的內容source的項目都是對象,你將不得不通過一些跳鐵圈。否則,你會得到錯誤的引導試圖事先鍵入的內容在內部調用toLowerCase()比較項目,對項目進行排序,等

我的一篇博客不久前就如何做到這一點:http://victorblog.com/2013/06/21/how-to-use-rich-objects-and-typed-objects-with-bootstrap-typeahead/

我相信你根本沒有重寫Typeahead的updater函數。

+0

我不太明白你的意思是什麼......我拿出了匹配器,分揀機和高級,並且typeahead正在工作。但它顯示了整個陣列... {"href":1,"name":"The1Prodigy1"}

+0

Nvm,我想通了! –

+0

你能準確分享你需要添加或改變以使其工作嗎? :) –