AngularJS自动完成
问题描述:
我是新的ng。我想创建一个自动完成文本框,在更改文本时触发AJAX调用。但是,至AJAX调用的最小长度将为3个字符,并且当用户输入第4,5或6个字符时,它不会再次执行AJAX调用,但它只会根据以前的数据进行排序。 所以基本上,它只会在前3个字符发生变化时(以及最少3个字符)才会进行AJAX调用。AngularJS自动完成
在此先感谢
答
排序冗长的解释,因此写作答案。
至少为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-ui
的ui-select
。 样品Plnkr由mkearl。希望这可以帮助!。
我认为uib-typeahead是一个不错的选择。如果您可以使用UI-Bootstrap,请检查此https://angular-ui.github.io/bootstrap/#!#typeahead –