Ionic – How to do Check All with Ion-Checkbox

This blog represents code sample to achieve “Check all” or “Select all” using ION-Checkbox.

AngularJS/Ionic Controller Code to Check All

Say, you have a list of contacts (name) with check boxes. What you want is to achieve “check all” when you check one checkbox. $scope.allcontacts is a temporary object to capture the checkbox checked value.

$scope.allcontacts = {};
$scope.allcontacts.checked = false;
$scope.checkAll = function() {
      if ($scope.allcontacts.checked) {
        $scope.allcontacts.checked = true;
      } else {
        $scope.allcontacts.checked = false;
      }
    for (var i=0; i < $scope.contacts.length; i++) {
      $scope.contacts[i].checked = $scope.allcontacts.checked;
    };
};	

HTML Code including Ion-Checkbox to Achieve “Check All”

<ion-list>
<ion-checkbox class="item-checkbox-right" ng-model="allcontacts.checked" ng-checked="allcontacts.checked" ng-click="checkAll()">
        All Contacts
      </ion-checkbox>
      <ion-checkbox ng-repeat="contact in contacts"
                    ng-model="contact.checked"
                    ng-checked="contact.checked" class="item-checkbox-right">
        <h2>{{contact.name}}</h2>
      </ion-checkbox>
</ion-list>
Ajitesh Kumar
Follow me

Ajitesh Kumar

I have been recently working in the area of Data analytics including Data Science and Machine Learning / Deep Learning. I am also passionate about different technologies including programming languages such as Java/JEE, Javascript, Python, R, Julia, etc, and technologies such as Blockchain, mobile computing, cloud-native technologies, application security, cloud computing platforms, big data, etc. For latest updates and blogs, follow us on Twitter. I would love to connect with you on Linkedin. Check out my latest book titled as First Principles Thinking: Building winning products using first principles thinking. Check out my other blog, Revive-n-Thrive.com
Posted in Android, AngularJS, Javascript, Mobility, Web. Tagged with , .

Leave a Reply

Your email address will not be published. Required fields are marked *