This is my Ionic-Forum version of the Ionic Checkbox & LocalStorage for debugging and trying out things. There is a problem with the ng-change, not updating immediately after clicking a true checkbox.
A Pen by DeutschMark on CodePen.
| <html ng-app="ionicApp"> | |
| <head> | |
| <meta charset="utf-8"> | |
| <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width"> | |
| <title>Checkboxes</title> | |
| <link href="//code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet"> | |
| <script src="//code.ionicframework.com/nightly/js/ionic.bundle.js"></script> | |
| </head> | |
| <body ng-controller="MainCtrl"> | |
| <ion-view view-title="Checkboxes"> | |
| <ion-content ng-controller="TheorieCtrl"> | |
| <div class="list"> | |
| saved in local Storage: {{output}} | |
| <ion-list> | |
| <ion-checkbox ng-repeat="thema in themen track by $index" class="checkbox-positive" type="checkbox" id="{{thema.id}}" ng-model="thema.checked" ng-change="updateThemaLocalStorage($index)" ng-checked="{{getCheck($index)}}"> | |
| ( stored: {{getCheck($index)}} ) | |
| <br> changed to: {{ thema.checked }} | |
| <br> {{ thema.name }} | |
| </ion-checkbox> | |
| </ion-list> | |
| </ion-content> | |
| </ion-view> | |
| </body> | |
| </html> |
This is my Ionic-Forum version of the Ionic Checkbox & LocalStorage for debugging and trying out things. There is a problem with the ng-change, not updating immediately after clicking a true checkbox.
A Pen by DeutschMark on CodePen.
| angular.module('ionicApp', ['ionic']) | |
| .controller('MainCtrl', function($scope) { | |
| }) | |
| .controller('TheorieCtrl', function($scope, $window, $ionicPlatform) { | |
| $ionicPlatform.ready(function($index) { | |
| // Ready functions | |
| }); | |
| $scope.themen = [ | |
| { name: "1: one", id: 1 }, | |
| { name: "2: two", id: 2}, | |
| { name: "3: three", id: 3 }, | |
| { name: "4: four", id: 4}, | |
| { name: "5: five", id: 5 }, | |
| { name: "6: six", id: 6}, | |
| { name: "7: seven", id: 7 }, | |
| { name: "8: eight", id: 8 }, | |
| { name: "9: nine", id: 9 }, | |
| { name: "10: ten", id: 10 }, | |
| { name: "11: eleven", id: 11 }, | |
| { name: "12: twelve", id: 12 }, | |
| ]; | |
| $scope.updateThemaLocalStorage = function ($index) { | |
| // Debug: call by index dynamically | |
| console.log("klicked index: " + $index); | |
| console.log($scope.themen[$index].name); | |
| console.log("current state: " + $scope.themen[$index].checked); | |
| // Actually doing the localStorage: set item to true/false | |
| console.log("recent saved state: " + $window.localStorage[ $index ]); | |
| $window.localStorage.setItem( $index, $scope.themen[$index].checked ); | |
| }; | |
| $scope.output = $window.localStorage; | |
| console.log($scope.output); | |
| $scope.getCheck = function ($index) { | |
| // get the stored toggle (true or false) and | |
| // pass it over to the ng-checked in the html | |
| return $window.localStorage[ $index ]; | |
| }; | |
| }); |