1つのオプションは、行ごとに決定するマップを保存するためにng-model
を使用することですそうでない場合、
ng-model
は、指定された式にチェックボックス値をバインドします。ここではマップにマップします。マップがキーとしてuser.id
を使用すると、チェックボックスの値に基づいてブール値を格納しますNG-モデルsee official documenation
の詳細については、
。
このマップを呼び出すことができますshouldDeleteUserMap
。
次に、shouldDeleteUserMap
に基づいて、サーバーに送信する前にユーザーアレイをフィルタリングできます。
<table border="2" border-color=black>
<tr data-ng-repeat="user in users">
<td><input type="checkbox" ng-model='shouldDelteUserMap[user.id]' ></td><td>{{user.id}}</td><td>{{user.country}}</td><td>{{user.name}}</td>
</tr>
</table><br>
<button data-ng-click="removeUserData()" data-ng-show="users.length">Remove User</button>
とあなたのコントローラ、ビットのようになります。
angular.module('app',[])
.controller('myCtrl', function($scope){
$scope.shouldDelteUserMap = {};
$scope.users = [{
id: 1,
country: 'USA',
name: 'john'
},
{
id: 2,
country: 'Germany',
name: 'jane'
}];
$scope.removeUserData = function(){
var usersToRemove = $scope.users.filter(function(user){
return $scope.shouldDelteUserMap[user.id];
});
console.log(usersToRemove); // here comes your function that calls the server
}
});
、ここでは一例でjsbinさ: http://jsbin.com/jisigiboha/edit?html,css,js,console,output
私はあなたがこれを達成するために、角UIグリッドを使用することをお勧めします。他の方法もあるかもしれませんが、私の考えではui-girdが最適です。または、anglejsで$ indexを使用することができます –
@AshishAgrawal、私の答えはあなたのために働いたのですか? – developer033
@developer033はい.. nは今、あなたの意見を受け入れるほどの評判を持っています。受け入れられる!! –