Mohammad Fareed
Mohammad Fareed

Reputation: 1972

angularjs md checkbox get the checked values

<md-checkbox ng-repeat="primaryPrograms in ctrl.primaryProgramStudies" ng-model="ctrl.primaryProgramStudiesSelected[primaryPrograms.id]">
  {{primaryPrograms.name}}
</md-checkbox>

Selected Checbox :

{{ctrl.primaryProgramStudiesSelected | json}}

Output i am getting :

Selected Checbox : 
[null,true,true,true,null,true,null,true,null,true,null,null,true] 

How can i get the List of Checked Values.

Upvotes: 0

Views: 1666

Answers (2)

Mihai Alexandru-Ionut
Mihai Alexandru-Ionut

Reputation: 48337

You can use filter method, which accepts as a parameter a callback method.

The filter() method creates a new array with all elements that pass the test implemented by the provided(callback) function.

var array=[null,true,true,true,null,true,null,true,null,true,null,null,true];
ctrl.primaryProgramStudies.filter(function(item,index){
    return array[index]==true;
});

Short example

var ctrl = {};

ctrl.primaryProgramStudies = [{
    "name": "program0"
  },
  {
    "name": "program1"
  },
  {
    "name": "program2"
  },
  {
    "name": "program3"
  },
  {
    "name": "program4"
  },
  {
    "name": "program5"
  },
  {
    "name": "program6"
  },
  {
    "name": "program7"
  },
  {
    "name": "program8",
  },
  {
    "name": "program9",
  },
  {
    "name": "program10",
  },
  {
    "name": "program11",
  },
  {
    "name": "program12"
  }
]

ctrl.primaryProgramStudiesSelected =[null,true,true,true,null,true,null,true,null,true,null,null,true];
var result=ctrl.primaryProgramStudies.filter(function(item,index){
     return ctrl.primaryProgramStudiesSelected[index]==true;
});

console.log(result)

Upvotes: 1

tanmay
tanmay

Reputation: 7911

You can filter the original array ctrl.primaryProgramStudies based on whether the same index on ctrl.primaryProgramStudiesSelected has true

var ctrl = {};

ctrl.primaryProgramStudies = [{
    "name": "test0",
    "id": 0
  },
  {
    "name": "test1",
    "id": 1
  },
  {
    "name": "test2",
    "id": 2
  },
  {
    "name": "test3",
    "id": 3
  },
  {
    "name": "test4",
    "id": 4
  },
  {
    "name": "test5",
    "id": 5
  },
  {
    "name": "test6",
    "id": 6
  },
  {
    "name": "test7",
    "id": 7
  },
  {
    "name": "test8",
    "id": 8
  },
  {
    "name": "test9",
    "id": 9
  },
  {
    "name": "test10",
    "id": 10
  },
  {
    "name": "test11",
    "id": 11
  },
  {
    "name": "test12",
    "id": 12
  }
]

ctrl.primaryProgramStudiesSelected = [null, true, true, true, null, true, null, true, null, true, null, null, true]

ctrl.selectedValues = ctrl.primaryProgramStudies.filter(function(obj, index) {
  return ctrl.primaryProgramStudiesSelected[index] === true
})

console.log(ctrl.selectedValues)

Upvotes: 1

Related Questions