2017-10-23 12 views
0

私は以下の文字列を持っています。角でリストから複数のチェック項目を削除する方法

   $scope.Array="5678,9876,0988" 

次のように私は私のhtmlでそれを表示しています:

   <li ng-repeat="ArrayItem in Array.split(',')"> 
        <input type="checkbox" > 
        {{Zip}} 
      </li> 

これは別にチェックボックスと一緒にすべての文字列の項目が表示されます。 UIのリストから複数の項目を選択する方法を知りたいのですが、削除を押すとArrayからこれらの項目が削除されます。

5678,9876を確認し、「削除」をクリックします。アレイは、今だけ私が探していたものだった0988.

答えて

2

angular.module('app', []).controller('ctrl', ['$scope', function($scope) { 
 
    $scope.toDelete = {}; 
 
    $scope.Array="0988,9876,0988"; 
 
    
 
    $scope.delete = function(){  
 
     $scope.temp = $scope.Array.split(','); 
 
     for(var prop in $scope.toDelete){   
 
     if($scope.toDelete[prop]) 
 
      $scope.temp[prop] = undefined; 
 
     }  
 
     $scope.toDelete = {}; 
 
     $scope.Array = $scope.temp.filter(function(x){ return x !== undefined; }).join(','); 
 
    } 
 
}])
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<div ng-app='app' ng-controller="ctrl"> 
 
    <ul> 
 
     <li ng-if='Array' ng-repeat="ArrayItem in Array.split(',') track by $index"> 
 
     <input type="checkbox" ng-model='toDelete[$index]'>{{ArrayItem}} 
 
     </li> 
 
    </ul> 
 
    Array: {{Array | json}} 
 
    <br> 
 
    <input type='button' value='Delete' ng-click='delete()'/> 
 
</div>

+0

を持っているでしょう! – Pares

関連する問題