例如,我有一个带有文本字段的表单,它给出了输入列表来选择值。如果用户输入的内容不在预先输入列表中,我应该清除那些不在预先输入列表中的内容。怎么实现呢?????
答案 0 :(得分:1)
如果您使用bootstrap库中的typeahead:http://angular-ui.github.io/bootstrap/
您可以使用" $ watch"功能来解决您的问题。来自控制器中的$ scope变量。
允许您检查范围中变量的任何更改,如果输入的新值不存在于值数组中,则在输入变量中放入一个空字符串。
我做了一个例子:http://plnkr.co/edit/cp9SLKhLYowIwFXVImAK?p=preview (它区分大小写)
$scope.$watch('selected', function(newVal, oldVal){
var newValPotentiallyExist= _.any($scope.states, function(state){
return state.indexOf(newVal) != -1;
});
if(!newValPotentiallyExist){
$scope.selected = '';
}
});