2016-10-07 118 views
-1

我有一個數組$scope.multiRoles,我需要通過單擊刪除按鈕刪除其中的值。移除的值應該移至另一個數組$scope.role。我可以通過調用removeRole()來移除數組,但無法將移除的值移動到另一個數組中。需要幫助。從一個陣列中刪除值並移動到另一個陣列

HTML:

<div ng-if="rolesAdded" class = "col-sm-12 col-xs-12"> 
    <span class="tag label tagStyle newStyling" value ="data" ng-repeat="data in multiRoles track by $index"> 
    <span>{{data}}</span> 
    <a><i ng-click="removeRoles(index)"class="remove glyphicon glyphicon-remove-sign "></i></a> 
    </span> 
</div> 

JS:

$scope.removeRoles = function(index){ 
    if(($scope.multiRoles!== null) && ($scope.multiRoles.length>1)) { 
    $scope.multiRoles.splice(index,1);       
    } 

    $scope.rolesAdded = true; 
}; 
+0

重複[這裏](http://stackoverflow.com/questions/39911601 /移除-a值從 - 一個陣列和 - 運動它們到另一個陣列)? – DieuNQ

回答

0

我覺得拼接陣列可以工作前推值。

試試這個:

$scope.removeRoles = function(index){ 
      if(($scope.multiRoles!== null) && ($scope.multiRoles.length>1)) { 
      $scope.role.push($scope.multiRoles[index]) 
      $scope.multiRoles.splice(index,1);    

      } 

      $scope.rolesAdded = true; 
     }; 
1

你是不是在任何地方添加。而且,由於您正在使用索引作爲邏輯,所以在刪除它之前需要將其添加到其他數組中。考慮這個

$scope.removeRoles = function(index){ 
    if($scope.multiRoles !== null && $scope.multiRoles.length > 1) { 
     $scope.role.push($scope.multiRoles[index]); 
     $scope.multiRoles.splice(index,1);    
    } 
    $scope.rolesAdded = true; 
}; 

而且$scope.role應該是現有array

1
$scope.role = []; 
$scope.removeRoles = function (index) { 
if (($scope.multiRoles !== null) && ($scope.multiRoles.length > 1)) { 
    $scope.role.push($scope.multiRoles[index]) 
    $scope.multiRoles.splice(index, 1); 
} 
$scope.rolesAdded = true; 
}; 
+0

在刪除它之前,您只需將該元素推送到另一個陣列即可:) – Jigar7521

+0

幹得好,但如果您可以包含對代碼的更多解釋,它總是很好。 –

+0

是的是的,但我從現有的問題代碼中寫下來。但你的建議實際上是個好主意,謝謝。 :) – Jigar7521

0

我得到了一個解決方案:

JS:

$scope.removeRoles = function(index,data){ 

     if(($scope.multiRoles!== null) && ($scope.multiRoles.length>1)) { 
       var index = $scope.multiRoles.indexOf(data); 
     $scope.multiRoles.splice(index,1); 
      $scope.role.push(data); 
相關問題