以角度重置select的值

时间:2015-10-20 13:37:03

标签: javascript angularjs

我会用角度重置一个选择等级但在我的情况下,这不起作用。如果我尝试使用$ scope.projetColumn的案例(紧接着)。这很好。

在我的控制器中:

$scope.projetColumn = [
  {
     id: 1,
     group : "Backlog",
     name : " = 'Backlog (Stock)'"
  },
  {
     id: 2,
     group : "In Progress",
     name : "not in (New,'Backlog (Stock)',Closed)"
  }
];

然后,如果我调用此功能,则可以重置选择:

在我的控制器中:

$scope.resetDropDown = function() {
    if(angular.isDefined($scope.projetAA)){
        delete $scope.projetAA;
    }
}

在我看来:

PROJET <select name="selectProjet" class="form-control" ng-model="projetAA" ng-change="getProjetColumns(projetAA,column)" ng-options="item as item.name for item in projetColumn track by item.id"></select>

STATUT <select name="selectColumn" class="form-control" ng-model="column" ng-change="getStatut(column);" ng-options="item as item.name group by item.group for item in columnTab track by item.id"></select>

但问题是,在我的情况下,$ scope.projetColumn(第一个选择的ng-option)每次更改第二个选择的ng-option时都会更改。这不是一成不变的。

当我更改第二个选择时,我执行此代码,用来自($ scope.projetColumn)的数据更新第一个选择

$scope.getStatut = function (columnTab) {
    $scope.makePromiseCards = cardsFactory.getListeAll(search);         
    $scope.makePromiseCards.then(function (value) {
       $scope.projetColumn = [];
       var objBase = {id: 0, name: ''};
       $scope.projetColumn.push(objBase);
       var cptG=1;

       $scope.cards.forEach(function(entry){
          entry.forEach(function(entry2){
             if((entry2.fields !== undefined) && findProjectInObject(entry2.fields.project.key,$scope.projetColumn) === -1) {
                 var obj = {id: cptG, name: entry2.fields.project.key};
                 $scope.projetColumn.push(obj);
                 cptG++;
             }
          });
       });
    });
 }

所以,有人知道为什么第一个选择始终具有相同的索引,即使使用$ scope.resetDropDown方法,我也无法将索引重置为0?

先谢谢你,对不起,我很难用羽毛虫重现这个错误:/。我希望你能理解我的问题

0 个答案:

没有答案