2015-05-13 77 views
0

我爲我的項目使用了angularui bootstrap typeahead模塊。angularui bootstrap typeahead-預填充下拉列表onfocus

我無法預先填充預定義值的下拉列表。
每當用戶點擊typeahead的輸入文本時,它應該自動顯示typeahead建議下拉列表(從靜態JSON)。

每當用戶開始輸入時,該行爲應該是正常的。

我試圖this解決方案,但不幸的是它停止工作,當我升級我angularjs到版本1.3

enter image description here

回答

0

所以我是一種通過將一個自定義的指令,使一個小的修改到UI引導預輸入完成了這個碼。你必須欺騙前面的人認爲某人已經輸入了某些東西。我在該字段的右側放置了一個下拉箭頭,所以本質上它看起來像是一個下拉菜單,單擊該箭頭將顯示所有選項。你應該可以使用onfocus來做到這一點。
基本上找到了結合的關鍵事件引導預輸入的代碼,我改變了它檢查的40

  if(scope.matches.length === 0 && evt.which === 40) { // Added    
     // COMMENT OUT modelCtrl.$setViewValue(modelCtrl.$viewValue); 
          modelCtrl.$setViewValue(''); // Added 
      } 

你還需要確保typeaheadMinLength設置爲0 keydown事件。注意在上面的代碼中,它檢查用戶沒有輸入任何東西的情況,以及我觸發的特殊keydown事件。你應該能夠改變這一點以便在焦點上觸發。我將bootstrap typeahead複製到mytypeahead.js,然後像上面那樣修改它,以及一些其他可能需要也可能不需要的其他次要mod,具體取決於字段是否爲「必需」。