AngularJS中的自动完成

时间:2017-04-13 20:27:37

标签: javascript angularjs ajax autocomplete jquery-ui-autocomplete

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

提前致谢

1 个答案:

答案 0 :(得分: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,因此您无法搜索&#34; Hello&#34;在&#34;嗨!你好,#34;并在Chrome上获得积极响应。适用于FF!

因此,我建议使用angular-ui&#39; s ui-select。 mkearl的样本Plnkr。希望这有帮助!。