我有类似帖子的东西。 我想添加类似批量删除的内容。
我正在考虑将帖子的id作为值,当点击一个按钮时,所有这些选中的值都将传递给角度控制器,然后将其传递给后端以搜索所选的ID并删除它们。
但我不确定我是如何传递所有这些值的
我只有像这样简单的东西
<td><input type="checkbox" value="post.id" name="posts"></td>
<button class="btn btn-info pull-middle" ng-show="showDelBtnAndTableHeaders" ng-click="destroySelected(selectedPosts)">Delete Selected Posts</button>
我在控制器中添加了这样的东西,以测试我是否正确,我得到了值数组,但做了几次不同的尝试,没有运气
$scope.destroySelected = function (array) {
console.log(array);
Post.destroySelected(array)
.success(function () {
})
};
有人可以就此提出一个想法吗? 提前谢谢。
答案 0 :(得分:0)
可能你放在这里:value="post.id"
而不是:value="selectdPosts.id"
或此处:ng-click="destroySelected(selectedPosts)"
你应该放:ng-click="destroySelected(post)"
答案 1 :(得分:0)
以下是您问题的简单解决方案:
<强> HTML:强>
<div ng-controller="PostController">
<label ng-repeat="post in posts">
<input type="checkbox" name="selectedPosts[]" value="{{post.id}}"ng-model="post.selected">{{post.name}}
</label>
<button ng-click="destroySelected()">Delete Selected Posts</button>
</div>
的控制器:强>
myApp.controller('PostController', ['$scope', function($scope) {
// posts model
$scope.posts = [
{ id: 1 , name: 'Manager', selected: true },
{ id: 2 , name: 'Team Leader', selected: false },
{ id: 3 , name: 'Sr. Manager', selected: true },
{ id: 4 , name: 'Developer', selected: false }
];
// Remove Selected Posts
$scope.destroySelected = function destroySelected(){
angular.forEach($scope.posts, function (item) {
// Check if Item is selected
if(item.selected === true){
// Delete Item based on item.id
alert('Deleted ItemId: '+item.id);
}
});
}
}]);
答案 2 :(得分:0)
请在评论中查看plunker链接....因为我不知道如何在这里获取......我使用了一个过滤器来获取所有选中的id并通过按钮click.so从这里你可以发送那些你的电话....