0

我是新的ng。我想创建一个自动完成文本框,在更改文本时触发AJAX调用。但是,至AJAX调用的最小长度将为3个字符,并且当用户输入第4,5或6个字符时,它不会再次执行AJAX调用,但它只会根据以前的数据进行排序。 所以基本上,它只会在前3个字符发生变化时(以及最少3个字符)才会进行AJAX调用。AngularJS自动完成

在此先感谢

+1

我认为uib-typeahead是一个不错的选择。如果您可以使用UI-Bootstrap,请检查此https://angular-ui.github.io/bootstrap/#!#typeahead –

回答

0

排序冗长的解释,因此写作答案。

至少为3个字母的功能:

$scope.checkTitle = function(lettersTyped){ 
    if(lettersTyped.length > 2){ 
      //make API call here 
      $scope.limitTitleSearch = 500; 
    }else{ 
      $scope.limitTitleSearch = 0; 
    } 
} 

HTML5有一个名为<datalist>现有元素与一个选择文本框沿有助于自动完成。但它在Chrome中效果不佳。它会执行matches而不是contains,因此您无法在“Hi!Hello there”中搜索“Hello”并在Chrome上收到正面回复。适用于FF!

因此,我推荐使用angular-uiui-select。 样品Plnkr由mkearl。希望这可以帮助!。