2016-03-17 19 views
5

Tôi đang cố gắng chọn tất cả các hộp kiểm với một hộp kiểm duy nhất. Nhưng làm thế nào để làm điều đó?chọn tất cả các hộp kiểm có góc cạnh JS

Đây là HTML của tôi:

<input type="checkbox" ng-model="selectAll" ng-click="checkAll()" /> 

<!-- userlist --> 
    <!--<div id="scrollArea" ng-controller="ScrollController">--> 
    <table class="table"> 
     <tr> 
      <th>User ID</th> 
      <th>User Name</th> 
      <th>Select</th>  
    </tr> 
    <tr ng-repeat="user in users | filter:search"> 
     <td>{{user.id}}</td> 
     <td>{{user.name}}</td> 
     <td><input type="checkbox" ng-click="usersetting(user)" ng-model="user.select"></td> 
     <td><tt>{{user.select}}</tt><br/></td> 
    </tr> 
    </table> 

tôi có thể tạo một hộp kiểm thêm để selecet và bỏ chọn tất cả các hộp kiểm.

JS:

.controller('UsersCtrl', function($scope, $http){ 
    $http.get('users.json').then(function(usersResponse) { 
     $scope.users = usersResponse.data; 
    }); 

     $scope.checkAll = function() { 
      angular.forEach($scope.users, function (user) { 
       user.select = true; 
       }); 
      }; 
}); 

Tôi cố gắng này quá, nhưng không ai trong số họ làm việc cho tôi :(

$scope.checkAll = function() { 
     angular.forEach($scope.users, function (user) { 
      user.select = $scope.selectAll; 
     }); 
    }; 
+0

có thể giúp bạn http://stackoverflow.com/questions/35914431/triggering-all-the-checkbox-event-while-selecting-checkall-in-angularjs/35914967#35914967 –

+0

Có điều gì đó xảy ra khi 'usersetting (user)' chức năng được gọi là? có lẽ khi bạn đang kiểm tra tất cả các hộp kiểm một cái gì đó trong chức năng đó là từ chối yêu cầu, và/hoặc bỏ chọn hộp? –

+1

Câu hỏi này giống như một bản sao của bản sao. Liên kết của @hadiJZ, sẽ phục vụ mục đích của bạn. –

Trả lời

5

Bạn đang bỏ lỡ div container với ng-controllerng-appangular.module.

user.select = $scope.selectAll là biến thể chính xác.

https://jsfiddle.net/0vb4gapj/1/

+0

không hoạt động cho tôi:/Nhưng Cảm ơn! :) Có thể có một vấn đề khác:/Tôi đã cpoied Mã của tôi trong pasteBin ... app.js và HTML pastebin.com/7eJu14nd pastebin.com/tq10Gtjb Tôi vừa xóa tập lệnh cho apiomat – Paili

+1

@Paili 1. Tài liệu tham khảo OnLoad một hàm không tồn tại. 2. Mã js của bạn phải là * sau * * angular.js' trong html (ví dụ như app.js). Mã làm việc: http://pastebin.com/rMgmiRgW –

1

Đây là một JSFiddle bạn có thể sử dụng ng-checked với một biến vào nó như user.checked (hoặc sử dụng số user.select như bạn muốn)

<div ng-app="app" ng-controller="dummy"> 
    <table> 
    <tr ng-repeat="user in users"> 
     <td>{{user.id}}</td> 
     <td>{{user.name}}</td> 
     <td> 
     <input type="checkbox" ng-click="usersetting(user)" ng-checked="user.checked" ng-model="user.select"> 
     </td> 
     <td><tt>{{user.select}}</tt> 
     <br/> 
     </td> 
    </tr> 
    </table> 
    <button ng-click="checkAll()">Check all</button> 
</div> 

JS:

var app = angular.module("app", []); 
app.controller('dummy', function($scope) { 
    $scope.users = [{ 
    id: 1, 
    name: "Hello", 
    select: 1 
    }, { 
    id: 2, 
    name: "World", 
    select: 1 
    }, ]; 
    $scope.checkAll = function() { 
    angular.forEach($scope.users, function(user) { 
     user.checked = 1; 
    }); 
    } 
}); 
0

sử dụng đơn giản đoạn mã sau

HTML

<input type="checkbox" ng-model="checkboxes.checked" data-ng-click="checkAll()" class="select-all" value="" /> 

JS

$scope.checkAll = function() { 
       angular.forEach($scope.users, function(item) { 
       $scope.checkboxes.items[item._id] =  $scope.checkboxes.checked; 
       $scope.selection.push(item._id); 
      }); 
       } 
1

Hãy thử thiết lập các hộp kiểm tra đối với mỗi người dùng phải được kiểm tra khi vào hộp kiểm đầu là đã chọn:

<input type="checkbox" ng-model="selectAll"/>  

<table class="table"> 
    <tr> 
     <th>User ID</th> 
     <th>User Name</th> 
     <th>Select</th>  
</tr> 
<tr ng-repeat="user in users | filter:search"> 
    <td>{{user.id}}</td> 
    <td>{{user.name}}</td> 
    <td><input type="checkbox" ng-click="usersetting(user)" ng-model="user.select" ng-checked="selectAll"></td> 
    <td><tt>{{user.select}}</tt><br/></td> 
</tr> 
</table> 
Các vấn đề liên quan