Angular checkboxes

JSFiddle for demos with angular framework

by Roshan Karunarathna

HTML

<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="https://code.ionicframework.com/1.3.3/js/ionic.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<div>


<div data-ng-controller="AppController">

<form class="list">

        <div ng-repeat="(key, value) in db">
             <input type=checkbox  ng-model=value.checked ng-change="checka()">{{ value.text }}
        </div>
        
               <div ng-repeat="(key, value) in office">
             <input type=checkbox  ng-model=value.checked ng-change="checka()">{{ value.text }}
        </div>

</form>

</div>

JavaScript

(function () {
    "use strict";
    
    var app = angular
        .module("app", []);
        
        app.controller('AppController', ['$scope', function($scope){
        
        
        var id = localStorage.getItem("id");
var checkedData = [];

$scope.db = [
    {text:'Firebird', checked:'false'}, 
    {text:'MongoDB', checked:'false'}, 
    {text:'mSQL', checked:'false'}, 
    {text:'MySQL', checked:'false'}, 
    {text:'Oracle', checked:'false'}, 
    {text:'PostgreSQL', checked:'false'}, 
    {text:'TinySQL', checked:'false'}, 
    {text:'SQLite', checked:'false'}, 
    {text:'SQL Server', checked:'false'}, 
    {text:'Sybase', checked:'false'}, 
    {text:'Outros', checked:'false'}
]

$scope.office = [
    {text:'Microsoft Access', checked:'false'}, 
    {text:'Microsoft Excel', checked:'false'}, 
    {text:'Microsoft Outlook', checked:'false'}, 
    {text:'Microsoft PowerPoint', checked:'false'}, 
    {text:'Microsoft Word', checked:'false'}, 
    {text:'Open Office', checked:'false'}
]

getData(checkedData, id).then(function(response){

        console.log(JSON.stringify(response));

        if(response.data === "\"Error\""){
            $ionicLoading.hide();
            navigator.notification.alert("Error");

        }else{

            checkedData = response.data[0].DATABASERESP;
            
            console.log('checkedData', checkedData)
            
            checkedData.data.checkedData = checkedData.data.checkedData.split(', ');
            checkedData.data.checkedData.forEach(function(checkedName) {

      $scope.db.forEach(function(dbItem){

          if(dbItem.text == checkedName) {
                dbItem.checked = true;
          }

      })

      $scope.office.forEach(function(officeItem){

          if(officeItem.text == checkedName) {
                officeItem.checked = true;
          }

      })
      
   

  })
     console.log('$scope.office', $scope.office);
      
      $scope.$apply();
            
            

       ...