使用splice()批量删除选中的选项时遇到的问题
for (var i = 0; i < $scope.portalListData.length; i++) {if ($scope.portalListData[i].checked) { //选中的
$scope.portalListData.splice($scope.portalListData.indexOf($scope.portalListData[i]), 1);
} else {
}
}
如上 删除会出现问题,比如选中八个只会删除四个,选中四个删除两个,此处一个解决方法就是 在删除掉本条之后,即 $scope.portalListData.splice($scope.portalListData.indexOf($scope.portalListData[i]), 1);这一句之后加一句 i-- 就可以解决了!
for (var i = 0; i < $scope.portalListData.length; i++) {
if ($scope.portalListData[i].checked) { //选中的
$scope.portalListData.splice($scope.portalListData.indexOf($scope.portalListData[i]), 1); i--;
} else {
}
}
这样的话你循环过滤一下就可以了,不需要再一个一个删除了。
循环过滤的时候,没有选中的放在一个数组/对象,选中的过滤掉
然后在把新数组的值给以前的对象/数组
页:
[1]