我有一个ListBox,我想根据用户输入过滤,以便只显示“匹配”的可能性。
不幸的是,“过滤器”仅更改值显示或根本不起作用。我希望这是因为我使用(键,值)并且它有不同的行为?
<p>Filter : <input type="text" ng-model="FilterAttr"/> {{FilterAttr}}</p>
<select ng-options="value as (value.attr+ ' : ' +value.otherAttr) for (key,value) in CustomList | filter:{attr:FilterAttr}"
size="4" ng-model="nevermind" ng-change="changeSensor(TyreDetails)">
</select>
这是一个jsffidle:http://jsfiddle.net/hLywvam7/2/
感谢您的帮助。
答案 0 :(得分:0)
在Angular filters中只能应用于数组,而不能应用于对象。
现在将“CustomList”格式更改为Array或将“CustomList”对象转换为如下所示的数组
$scope.filterCustomList = function(items) {
var result = [];
angular.forEach(items, function(value, key) {
result[key] = value;
});
return result;
}