Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 仅当选中复选框并控制删除的值时,才从ng重复删除元素_Javascript_Angularjs - Fatal编程技术网

Javascript 仅当选中复选框并控制删除的值时,才从ng重复删除元素

Javascript 仅当选中复选框并控制删除的值时,才从ng重复删除元素,javascript,angularjs,Javascript,Angularjs,嗨,我是angular的新手,在我的问题中,当选中复选框时,我可以删除该行,但我想控制台删除的值 var app = angular.module("appTable", []); app.controller("Allocation", function($scope) { $scope.dataList = [{ name: 'lin', dept: 'b' }, { name: 'fie', dept: 'bbbb'

嗨,我是angular的新手,在我的问题中,当选中复选框时,我可以删除该行,但我想控制台删除的值

  var app = angular.module("appTable", []);
  app.controller("Allocation", function($scope) {

    $scope.dataList = [{
      name: 'lin',
      dept: 'b'
    }, {
      name: 'fie',
      dept: 'bbbb'
    }, {
      name: 'test',
      dept: 'aaa'
    }];
    $scope.add = function() {
      var data = {};
      data.name = '';
      data.dept = '';
      $scope.dataList.push(data);

    };
    $scope.remove = function() {
      var newDataList = [];
      angular.forEach($scope.dataList, function(v) {
        if (!v.isDelete) {
          newDataList.push(v);
        }
      });
      $scope.dataList = newDataList;
      console.log($scope.dataList)

    };
  });
我很难控制删除的值

感谢您的帮助。提前感谢

使用拼接()如下:

$scope.remove = function() {
    var deletedItems = [];
    for(var i=0; i<$scope.dataList.length; i++){
        if ($scope.dataList[i].isDelete) {
            deletedItems.push($scope.dataList.splice(i--, 1));
        }
    }
    console.log($scope.dataList, deletedItems);
};
$scope.remove=function(){
var deletedItems=[];

对于(var i=0;i,您可以像这样在remove处理程序中记录对象内容

JS代码:

  $scope.remove = function() {
    var newDataList = [];
    angular.forEach($scope.dataList, function(v) {
        if (!v.isDelete) {
           newDataList.push(v);
        } else {
           //Value deleted from list
           console.log("Value being removed :" + JSON.stringify(v));
        }
    });
    $scope.dataList = newDataList;
    console.log($scope.dataList);
  };

嘿,只有当我们选择单个复选框元素时,它才起作用。我以为只要单击复选框,您就会调用“删除”。我对其进行了编辑,以删除多个项目。
  $scope.remove = function() {
    var newDataList = [];
    angular.forEach($scope.dataList, function(v) {
        if (!v.isDelete) {
           newDataList.push(v);
        } else {
           //Value deleted from list
           console.log("Value being removed :" + JSON.stringify(v));
        }
    });
    $scope.dataList = newDataList;
    console.log($scope.dataList);
  };