angularJS 全选反选批量删除

<th>
<label for="flag">
<span ng-hide="master">全选</span>
<span ng-show="master">取消全选</span>
<input type="checkbox" ng-model="master" ng-click="all(master,$data)">
</label>
</th>

<td >
&#8194@*<input type="checkbox" ng-checked="selectAll" ng-model="persons" ng-click="static(persons)">*@
<input id={{row}} type="checkbox" ng-model="x" ng-checked="master" ng-click="chk(row,x)">
</td>

-----------------------row代表行数据---------------------------------------------------

$scope.choseArr = [];//定义数组用于存放前端显示
var str = "";//
var flag = '';//是否点击了全选,是为a
$scope.x = false;//默认未选中
$scope.all = function (c, v) {//全选
if (c == true) {
$scope.x = true;
$scope.choseArr = v;
for (var i = 0; i < v.length; i++) {
str = str + v[i].PID + ',';
}
$scope.choseArr = (str.substr(0, str.length - 1)).split(',');
} else {
$scope.x = false;
$scope.choseArr = [""];
str = "";
}
flag = 'a';
};
$scope.chk = function (z, x) {//单选或者多选
if (flag == 'a') {//在全选的基础上操作
//str = $scope.choseArr.join(',') + ',';
}
if (x == true) {//选中
str = str + z.PID + ',';
} else {
str = str.replace(z.PID + ',', '');//取消选中
}
$scope.choseArr = (str.substr(0, str.length - 1)).split(',');
};

///批量删除
$scope.batchBelete = function () {
if ($scope.choseArr[0] == "" || $scope.choseArr.length == 0) {//没有选择一个的时候提示
alert("请至少选中一条数据再操作!")
return;
};
var id = "";
for (var i = 0; i < $scope.choseArr.length; i++) {
//alert($scope.choseArr[i]);
console.log($scope.choseArr[i]);//遍历选中的id
id = id + $scope.choseArr[i] + ',';
}
var Jid = (id.substr(0, id.length - 1)).split(','); //去掉小数点最后一位
$http({
url: '/NGtext/BatchDeleteJsonData',
method: 'post',
params: {
jid: Jid
}
}).success(function (data) {
if (data == "ok") {
window.history.go(0); //刷新页面
alert("Batch delete successful");

}
});
};

posted @ 2017-05-17 15:12  陌陌逸帆  阅读(297)  评论(0编辑  收藏  举报