angular单选全选
发布时间:2020-12-17 09:24:42 所属栏目:安全 来源:网络整理
导读:div ng-controller="myController" label for="flag"全选 input id="flag" type="checkbox" ng-model="select_all" ng-change="selectAll()" /label ul li ng-repeat="i in list" input type="checkbox" ng-model="i.checked" ng-change="selectOne()" span{
<div ng-controller="myController"> <label for="flag">全选 <input id="flag" type="checkbox" ng-model="select_all" ng-change="selectAll()"> </label> <ul> <li ng-repeat="i in list"> <input type="checkbox" ng-model="i.checked" ng-change="selectOne()"> <span>{{id}}</span> </li> </ul> </div> var app = angular.module('myApp',[]); app.controller('myController',['$scope',function ($scope) { $scope.list = [ {'id': 101},{'id': 102},{'id': 103},{'id': 104},{'id': 105},{'id': 106},{'id': 107} ]; $scope.m = []; $scope.checked = []; $scope.selectAll = function () { if($scope.select_all) { $scope.checked = []; angular.forEach($scope.list,function (i) { i.checked = true; $scope.checked.push(i.id); }) }else { angular.forEach($scope.list,function (i) { i.checked = false; $scope.checked = []; }) } console.log($scope.checked); }; $scope.selectOne = function () { angular.forEach($scope.list,function (i) { var index = $scope.checked.indexOf(i.id); if(i.checked && index === -1) { $scope.checked.push(i.id); } else if (!i.checked && index !== -1){ $scope.checked.splice(index,1); }; }) if ($scope.list.length === $scope.checked.length) { $scope.select_all = true; } else { $scope.select_all = false; } console.log($scope.checked); } }]); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |