如何使用ngoptions生成optgroup而不重复组名称

时间:2015-02-20 07:35:32

标签: angularjs

您好我正在尝试使用ng-options按地区分组国家/地区。它只能通过在每一行中重复组名来实现。是否可以使用以下json来执行此操作:

 $scope.countries = [
               { region: "americas", countries: [{ value: "usa", key: "1" }, { value: "mexico", key: "2" }] },
               { region: "Africa", countries: [{ value: "3", key: "Algeria" }, { value: "4", key: "Morocco" }, { value: "5", key: "Tunisia" }] },
        ];

2 个答案:

答案 0 :(得分:0)

各国的数据结构需要像

countries = [{value : 3, key: "algeria", region : "africa"}, ...]

使ng-options能够“分组”区域。

答案 1 :(得分:0)

ng-options非常被锁定在其定义中,因此您可能需要遍历您的国家/地区数组并添加区域,例如:

$scope.countries_with_regions = [];
$scope.countries.forEach(function(region){
    region.countries.forEach(function(country){
        country.region = region.region;
        $scope.countries_with_regions.push( country );
    });
});

然后您可以使用ng-options

执行countries_with_regions