Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.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 如何通过单击“从多个复选框中添加和删除用户”;加上「;及;删除“;AngularJS中的按钮?_Javascript_Angularjs - Fatal编程技术网

Javascript 如何通过单击“从多个复选框中添加和删除用户”;加上「;及;删除“;AngularJS中的按钮?

Javascript 如何通过单击“从多个复选框中添加和删除用户”;加上「;及;删除“;AngularJS中的按钮?,javascript,angularjs,Javascript,Angularjs,var demoApp=angular.module('myApp',[]); demoApp.controller('QaController',函数($scope,$http){ $scope.teams=[ {id:1,姓名:'Chinmay Sahu'}, {id:2,名称:'PHP Chinu'}, {id:3,姓名:'Sanjib Pradhan'} ]; $scope.myTeams=[ {id:1,姓名:'Chinmay Sahu'} ]; $scope.add=函数(){ an

var demoApp=angular.module('myApp',[]);
demoApp.controller('QaController',函数($scope,$http){
$scope.teams=[
{id:1,姓名:'Chinmay Sahu'},
{id:2,名称:'PHP Chinu'},
{id:3,姓名:'Sanjib Pradhan'}
];
$scope.myTeams=[
{id:1,姓名:'Chinmay Sahu'}
];
$scope.add=函数(){
angular.forEach($scope.teams,function(val,key){
如果(val.checked==true){
如果($scope.myTeams.length>0){
var dat=$scope.myTeams.find(函数(o){
返回o.user_id==val.id;
});
}否则{
var-dat={};
}
如果(dat){
$scope.myTeams.push({user_id:val.id,name:val.name});
}
}
});
};
$scope.remove=函数(){
};
$scope.submit=函数(){
};
});

添加

去除 选择隐私 公开的 私有的 隐藏的
有几个问题:

  • 不一致的属性名称。。。id和用户id的混合使用示例
  • 您需要向所有对象添加选中属性
  • 您的add函数在按下“dat”之前对“dat”进行了真实检查,这应该是错误检查
  • 生成的代码如下所示:

    var demoApp=angular.module('myApp',[]);
    demoApp.controller('QaController',函数($scope,$http){
    $scope.teams=[{
    id:1,
    名称:“Chinmay Sahu”,
    勾选:假
    }, {
    id:2,
    名称:'PHP Chinu',
    勾选:假
    }, {
    id:3,
    名称:“Sanjib Pradhan”,
    勾选:假
    }];
    $scope.myTeams=[{
    id:1,
    名称:“Chinmay Sahu”,
    勾选:假
    }];
    $scope.add=函数(){
    angular.forEach($scope.teams,function(val,key){
    如果(val.checked==真){
    val.checked=false;
    var dat;
    如果($scope.myTeams.length>0){
    dat=$scope.myTeams.find(函数(o){
    返回o.id==val.id;
    });
    }
    如果(!dat){
    $scope.myTeams.push({
    id:val.id,
    姓名:val.name
    });
    }
    }
    });
    };
    $scope.remove=函数(){
    $scope.myTeams.reduceRight(函数(acc、团队、索引、对象){
    如果(team.checked==true){
    对象。拼接(索引,1);
    }
    }, []);
    };
    $scope.submit=函数(){
    };
    });
    
    
    安古拉斯普朗克
    文件。写(“”);
    添加
    
    去除 选择隐私 公开的 私有的 隐藏的
  • 在左侧,仅显示不在
    myTeams
    列表中的项目-使用
    Array.prototye.filter
    Array.prototype.some
    筛选列表

  • 添加时,从筛选列表中获取选中项,并将对象副本添加到
    myTeams
    列表中

  • 删除时,从
    myTeams
    列表中筛选未选中的值,并将其分配回
    myTeams
    列表

  • var demoApp=angular.module('myApp',[]);
    demoApp.controller('QaController',函数($scope,$http){
    $scope.teams=[{
    id:1,
    姓名:“Chinmay Sahu”
    },
    {
    id:2,
    名称:'PHP Chinu'
    },
    {
    id:3,
    姓名:“桑吉布·普拉丹”
    }
    ];
    $scope.myTeams=[{
    id:1,
    姓名:“Chinmay Sahu”
    }];
    $scope.getTeams=function(){
    返回$scope.teams.filter(函数(团队){
    return!$scope.myTeams.some(函数(sTeam){
    返回蒸汽.id==team.id;
    });
    });
    };
    $scope.add=函数(){
    var selectedList=$scope.getTeams().filter(函数(团队){
    返回团队。已检查;
    }).map(职能(团队){
    team.checked=false;
    team.privacy='';
    var_copy=角度复制(团队);
    返回副本;
    });
    $scope.myTeams=$scope.myTeams.concat(selectedList);
    };
    $scope.remove=函数(){
    $scope.myTeams=$scope.myTeams.filter(函数(团队){
    返回!团队检查;
    });
    };
    $scope.submit=函数(){
    };
    });
    
    
    无需选择
    添加
    
    去除 没有添加任何内容 选择隐私 公开的 私有的 隐藏的
    var demoApp=angular.module('myApp',[]);
    demoApp.controller('QaController',函数($scope,$http){
    $scope.teams=[{
    id:1,
    名称:“Chinmay Sahu”,
    
    const app = angular.module('some',[])
    app.controller('ctr',['$scope', function($scope){  
       $scope.teams = [
          {id:1, name:'Chinmay Sahu'},
          {id:2, name:'PHP Chinu'},
          {id:3, name:'Sanjib Pradhan'}
        ];
    
        $scope.myTeams = [
          {id:1, name:'Chinmay Sahu'}
        ];
         $scope.add = function() {   
                var aux = Object.assign({},$scope.teams);
                angular.forEach(aux, function(val, key) {
                    if (val.checked == true) {                  
    
                          var dat = $scope.myTeams.find(function(o) {
                                return o.id === val.id;
                           });
                  var index = $scope.teams.findIndex(function(o){
                              return o.id === val.id
                          });
    
    
                          $scope.teams.splice(index,1);                  
                      if(!dat){
                          $scope.myTeams.push({id: val.id, name: val.name});
                      }
    
            }
    
    
                });
            };
    
            $scope.remove = function() {
              var aux = Object.assign({},$scope.myTeams);
              angular.forEach(aux, function(val, key) {              
                    if (val.checked == true) { 
    
    
                          var dat = $scope.teams.find(function(o) {
                                return o.id === val.id;
                            });
    
                          var index = $scope.myTeams.findIndex(function(o){
                              return o.id === val.id
                            })
    
                          $scope.myTeams.splice(index,1);
                          if(!dat){                           
                            $scope.teams.push({id: val.id, name: val.name});
                          }                      
                        }
    
                });
    
            };
    
    
        $scope.submit = function() {
    
        };
    }]);