所有ng重复的单独ng-repeat ..?

时间:2015-05-13 08:49:30

标签: javascript angularjs

所以我有这个小问题。我对所有项目使用ng-repeat,让我们称之为国家/地区,每个项目都有一个ng-repeat本身作为城市等子类别。我用国家/地区填充我的下拉菜单。

所以我有这样的国家名单:

USA

德国

西班牙

意大利

现在这是1 ng-repeat,现在当我点击1个国家时,会发生以下情况:

USA

德国

  • 斯图加特
  • 柏林
  • 科隆
  • 慕尼黑

西班牙

意大利

到目前为止一切顺利,现在当我打开另一个国家时,会发生以下情况:

USA

德国

  • 斯图加特
  • 柏林
  • 科隆
  • 慕尼黑

西班牙

  • 斯图加特
  • 柏林
  • 科隆
  • 慕尼黑

意大利

只有一个列表可以激活,1个国家/地区的列表,我该如何解决?我希望每个国家都能够点击打开他们的列表。有人有想法吗?或者至少你能给我一些建议这是一个常见的问题吗?

编辑: 某些代码:

<div class="category-body" ng-repeat="c in Country">
  <div class="category-main" ng-click="GetCities(c.Id);">
   <label class="pull-left">{{c.Name}}</label><input type="checkbox" class=" openSubCat" >
                </div>

 <div class="category-sub">
    <div class="item" ng-repeat="L in Cities" >
      <label class=" pull-left">
                                                        {{L.Name}}

AngularCode

$scope.GetCountries= function() {
        $http.get('myURL')
            .then(Countries, ErrorResponse);
    }
 $scope.GetCities= function(id) {
        $http.get('myURL' + id)
            .then(Cities, ErrorResponse);
    }

修改 不是我的plnkr,但这是我想要实现的想法:

http://jsfiddle.net/benfosterdev/NP7P5/

1 个答案:

答案 0 :(得分:1)

将您选择的国家/地区城市保存在JSON对象中。

var selectedCities = {"usa:[list of usa cities],"india":[list of india cities]};

从selectedCities中选择是否添加或删除基于国家/地区的密钥。