Я работаю над функцией автозаполнения текстового поля angularjs.Я хочу, чтобы пользователь только выбирал имя из существующего списка автозаполнения вместо ввода нового имени.Например, когда пользователь вводит 'Al'
в списке автозаполнения отображается соответствующий список, и пользователь может выбрать одно имя из существующего списка вместо ввода нового имени. Как запретить пользователю отправлять новое имя, которого нет в существующем списке.
Демонстрация: http://plnkr.co/edit/AdmtP1b6K9kQorMHmt7t?p=preview
Пример кода:
$scope.countryList = ["Afghanistan","Albania","Algeria","Andorra","Angola","Anguilla","Antigua & Barbuda","Argentina","Armenia","Aruba","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bermuda","Bhutan","Bolivia","Bosnia & Herzegovina","Botswana","Brazil","British Virgin Islands","Brunei"];
$scope.validateField = function(){
alert("Clicked on submit , validte field");
}
$scope.complete=function(string){
var output=[];
angular.forEach($scope.countryList,function(country){
if(country.toLowerCase().indexOf(string.toLowerCase())>=0){
output.push(country);
}
});
$scope.filterCountry=output;
}
$scope.fillTextbox=function(string){
$scope.country=string;
$scope.filterCountry=null;
}
Любые входные данные будут полезны.