您好,我有以下JSON
$scope.Facilities=
[
{
Name: "-Select-",
Value: 0,
RegionNumber: 0
},
{
Name: "Facility1",
Value: 1,
RegionNumber: 1
},
{
Name: "Facility2",
Value: 2,
RegionNumber: 1
},
{
Name: "Facility3",
Value: 3,
RegionNumber: 2
}
];
$scope.Regions=
[
{
Name: "-Select-",
RegionNumber: 0
},
{
Name: "USA",
RegionNumber: 1
},
{
Name: "Mexico",
RegionNumber: 2
}
];
我的应用程序中将有两个DropdownLists,其中将为其分配这些Json之一。
每当您选择一个地区时,就会触发ng-change。我想要的是使Facility DDL更新其值。它只会显示其RegionNumber等于所选Region的RegionNumber的设施。
我怎样才能做到这一点?我正在使用Angular JS,MVC ...
注意:-Select-值必须始终出现,即使它的值为零且不等同于所选的Region。
最佳答案
虽然像greengrassbluesky这样的数据结构可以简化结果,但您可以通过利用JavaScript过滤的onchange来完成同一件事
$scope.Facilities = masterFacilities.filter(function (el) {
return regionNumber = el.RegionNumber == $scope.SelectedRegion || el.RegionNumber == 0;
});
这是一个fiddle,其中包含使用您的列表的示例。