$watch plusieurs item avec un filtre
Bonjour,
J'ai plusieurs catégorie de checkbox. J'aimerai récupérer celle qui sont coche pour les mettre dans un tableau.
Ci dessous le scope de la categorie 1
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
controller.js
$scope.categorie1=
[
{id:1,libelle:'rouge',selected:true},
{id:2,libelle:'orange',selected:true},
{id:3,libelle:'vert',selected:true}
]
dashboard.html:
<div class="content">
<form class="form-horizontal" role="form">
<ul class="list-group">
<li class="list-group-item" ng-repeat="cat in categorie1"><input type="checkbox" ng-model="cat.selected"> {{cat.libelle}} </li>
</ul>
</form>
</div> |
Pour le moment, j'ai cela qui fonctionne:
Code:
1 2 3 4 5 6 7 8
|
$scope.$watch('categorie1|filter:{selected:true}',function(nv)
{
$scope.selectedItems = nv.map(function(item)
{
return item.id;
})
},true); |
Il est possible de faire ce code x fois pour chaque catégorie. Mais je souhaiterai faire cela qu'une fois avec toutes mes categorie c'est a dire :
Code:
1 2 3 4 5 6 7 8
|
$scope.$watch('[categorie1,categorie2,categorie3]|filter:{selected:true}',function(nv)
{
$scope.selectedItems = nv.map(function(item)
{
return item.id;
})
},true); |
Malheureusement cela ne fonctionne pas.
Est ce qu'il y aurai un moyen de faire cela?
Si besoin de plus d'explication n’hésitez pas.
Merci d'avance.
Chris.