2016-10-07 10 views
-1

配列$scope.multiRolesがあります。削除ボタンをクリックしてその値を削除する必要があります。削除された値は別の配列$scope.roleに移動する必要があります。 removeRole()を呼び出して配列を削除できましたが、削除した値を別の配列に移動できませんでした。手伝いが必要。1つの配列から値を削除して別の配列に移動する

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 – DieuNQ

答えて

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); 
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

$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; 
     }; 
が、私は解決策を持って/アレイから値を取り除いて別の配列に移動する)
関連する問題