Altough searched everywhere, could not find a solution I have a problem with deleting the CORRECT row from the list.
For example I have below array:
$scope.rows = [{
"ID": 12,
"customer": "abc",
"image": "abc.jpg",
},{
"ID": 13,
"customer": "klm",
"image": "klm.jpg",
},{
"ID": 14,
"customer": "xyz",
"image": "xyz.jpg",
}];
Trying to delete the row where ID = 13 (ID will be received from node server) with the code as follow:
Socket.on('delete', function( ID ) {
var a = $scope.rows.indexOf(ID);
$scope.rows.splice(a, 1)
});
But this removes not the correct row.
How can I specify my parameter to delete the right row like:
remove rows("ID" = ID)
Altough searched everywhere, could not find a solution I have a problem with deleting the CORRECT row from the list.
For example I have below array:
$scope.rows = [{
"ID": 12,
"customer": "abc",
"image": "abc.jpg",
},{
"ID": 13,
"customer": "klm",
"image": "klm.jpg",
},{
"ID": 14,
"customer": "xyz",
"image": "xyz.jpg",
}];
Trying to delete the row where ID = 13 (ID will be received from node server) with the code as follow:
Socket.on('delete', function( ID ) {
var a = $scope.rows.indexOf(ID);
$scope.rows.splice(a, 1)
});
But this removes not the correct row.
How can I specify my parameter to delete the right row like:
remove rows("ID" = ID)
Share
Improve this question
asked Feb 19, 2014 at 9:13
ng-Userng-User
2432 gold badges6 silver badges21 bronze badges
3 Answers
Reset to default 4indexOf
search substring in an array (and not in a relational array)
Try this:
var whatIndex = null;
angular.forEach($scope.rows, function(cb, index) {
if (cb.ID === ID) {
whatIndex = index;
}
});
$scope.rows.splice(whatIndex, 1);
Remove an current selected item:
<a href="#" ng-click="remove($index)">Remove an item</a> //this one is dynamically generated link using ng-repeat
$scope.remove = function (item) {
$scope.retrieveddata.splice(item, 1);
}
You can remove the current item using it's index.($scope .retreiveddata is my array list )
pass id in this function
$scope.deleteCurrentId = function (ID) {
for (var i = 0; i <= $scope.row.length; i++) {
if ($scope.row[i].id == ID) {
$scope.row.splice(i, 1);
}
}
};
or
$scope.deleteCurrentId = function (ID) {
angular.forEach($scope.row, function (cb, index) {
if (cb.id == ID) {
$scope.row.splice(index, 1);
}
});
};