【发布时间】:2016-11-24 18:54:03
【问题描述】:
我是 AngularJs 的新手。我有三个带有 ng-options 的选择框。在添加过滤器之前它工作正常。
<td style="33%">
<select ng-options="car.BaseStation for car in UnUsedCars | orderBy:'BaseStation'" ng-model="selected.BaseStation">
<option value="">All Locations</option>
</select>
</td>
<td style="33%">
<select ng-options="car.CarType for car in UnUsedCars | filter: selected.BaseStation | orderBy:'CarType'" ng-model="selected.CarType">
<option value="">All Car Types</option>
</select>
</td>
<td style="33%">
<select ng-options="car.Color for car in UnUsedCars | filter: selected.BaseStation | filter: selected.CarType | orderBy:'Color'" ng-model="selected.Color">
<option value="">All Car Colors</option>
</select>
</td>
第二个选择框应根据第一个选择框的值进行操作,第三个应根据第一个和第二个值进行操作。
这 3 个选择的数据来自对象数组“UnUsedCars”。 示例输入如下:
[{
"CarType" : "Audi",
"Color" : "White",
"BaseStation" : "Canada"
},
{
"CarType" : "BMW",
"Color" : "White",
"BaseStation" : "U.S.A"
},
{
"CarType" : "Benz",
"Color" : "Black",
"BaseStation" : "Canada"
}]
我的JS如下
scope.selected = {
BaseStation: null,
CarType: null,
Color: null
};
scope.$watch('selected.BaseStation', function() {
scope.selected.CarType = null;
});
scope.$watch('selected.BaseStation', 'selected.CarType', function() {
scope.selected.Color = null;
});
我在这里犯了什么错误?
【问题讨论】:
标签: javascript angularjs filter ng-options angularjs-ng-options