7

我有一個使用AngularUI's typeahead feature的文本字段。它看起來像這樣:Angular-UI:Force Typeahead結果

<input typeahead="eye for eye in autocomplete[column] | filter:$viewValue"> 

我想強制用戶從生成的列表中選擇一個選項。如果他們輸入的內容完全不在顯示的列表中,請在模糊處單擊(在文本字段外部單擊),我希望文本字段的值重置爲原始值。

此功能是typeahead指令的一部分,還是我需要擴展它?我搜索了大約10分鐘的谷歌和stackoverflow,但無法找到任何相關的文件。

任何人都可以請指出我在正確的方向來完成此?

+0

還有第二個參數來過濾啓用完全匹配,也許它可以使它工作? '過濾器:$ viewValue:真' – jpmorin 2014-09-10 20:11:25

+0

嗯,這打破了我的頁面上的類型。是否需要某個版本的Angular? – 2014-09-10 20:13:12

+0

Ui-Boostrap中還有一個屬性用於強制現有結果:typeahead-editable =「false」(typeahead-editable(默認值:true):是否應該將模型值限制爲僅從彈出窗口中選擇的值?) – jpmorin 2014-09-10 20:14:45

回答

12

插件中只有一個屬性強制只存在現有值:typeahead-editable="false"。默認值是true

只有$modelValue被設置爲空時,如果選擇了一個錯誤的值,這實際上是必要的,否則我們將無法寫任何東西。 $viewValue保留最後輸入的文字。您可能能夠將自己的模糊事件綁定到該字段以重置$viewValue

這裏是顯示所選擇的價值你的jsfiddle:http://jsfiddle.net/ZjPWe/61/

您也可以使用這需要一個回調時選擇了值的屬性typeahead-on-select,但我不知道它會與typeahead-editable="false"工作,因爲沒有值被選中。

相關問題