我有一个页面,我输出了一个汽车列表。此列表中的结果来自Json文件。
这是我的Json的一个例子:
[
{
"id": "1590",
"brand": "Peugeot",
"type": "508"
},
{
"id": "1591",
"brand": "Peugeot",
"type": "308"
},
{
"id": "1594",
"brand": "Honda",
"type": "Civic"
},
{
"id": "1605",
"brand": "Renault",
"type": "Clio"
},
{
"id": "1607",
"brand": "Renault",
"type": "Laguna"
}
]
我需要通过以下方式过滤结果:品牌和类型。所以我有两个名为' selectedBrand'的DropDown列表。和' selectedType'。
我使用此标记将单个Brands加载到DropDown列表中:
<select id="brands" data-ng-model="selectedBrand" data-ng-options="car.brand for car in cars | unique:'brand' | orderBy:'brand'">
</select>
这没关系,给我一个DropDown列表,其中包含独特的品牌,如DISTINCT SELECT。
现在我希望第一个DropDown列表在第一个DropDown列表具有选定值时进行过滤。 这是我对第二个DropDown列表的标记:
<select id="type" data-ng-model="selectedType" data-ng-options="car.type for car in cars | filter:{brand:selectedBrand} | unique:'type' | orderBy:'type'">
</select>
但这不起作用。它显示了包含每个品牌类型的完整列表。
我想我需要一些方法来在第一个DropDown列表更改时触发它? 我对AngularJs很新,所以任何帮助都会受到赞赏。
我不知道这是否是从Json结果中获取这些DISTINCT值的最佳方法。我只有完整的Json结果集和所有数据,这就是我必须使用的。