2013-06-03 28 views
15

我想在typeahead中設置一個id而不是一個對象,並且它不像select元素那樣工作。angular-ui typeahead選擇id而不是對象

下面是一個示例,您可以在前面輸入正確的單詞,然後更新select元素,但是如果更改select,則typeahead不會更新爲名稱,會更新id代替。

http://plnkr.co/edit/LJqdebViiucCv6X5hhtf?p=preview

我做錯了什麼?

+0

你沒有做任何「錯誤」的事情,它只是不是你期待的行爲。您沒有看到對象的「id」,您看到選擇選項的「索引」。將id值更改爲其他任何值,並且當您單擊某個項目時,仍然會看到「1」和「2」。 – rGil

+0

這是不正確的,我已經改變了4和5的ID,它顯示4和5,它沒有顯示索引。我有更新plunker。 – TlmaK0

+0

糟糕 - 我的想法很糟糕。 – rGil

回答

21

那樣的事情呢?

http://plnkr.co/edit/pUPzVK?p=preview(檢查typehead和NG選項定義)

什麼你「做錯了」丟失的信息,即typehead不具有完全相同的定義爲NG選項(我掙扎這也是一段時間)。

希望這會有幫助

+0

感謝@ grizzlynetch,這是我在最後做的,但問題是我沒有將對象指針設置爲selected,只有id,因爲它來自數據庫。與id完美的ng選項,但不與typeahead。所以最後我需要解析完整的列表,檢查id是否匹配,然後設置爲selected。 – TlmaK0

+0

您是否嘗試過將對象存儲在對象而不是數組中,並將對象的id用作關鍵字?例如。 var objects = {「5」:{「id」:「5」,「name」:「obj#5」,...},「13」:{「id」:「13」,「name」:「 obj#13「,...}}那麼你可以通過id對象直接訪問對象[」5「] – JakubKnejzlik

+0

感謝您的建議 – TlmaK0

相關問題