2017-06-28 1 views
2

Je JSON comme suit:Obtenez sélectionnée valeur de case à cocher dans * ngFor angulaire 2

[ 
    { 
    "name": "Parent", 
    "submenus": [ 
     { 
      "name":"Child1" 
     }, 
     { 
      "name":" Child2" 
     }, 
     { 
      "name":" Child3" 
     }, 
     { 
      "name":"Child4" 
     }, 
     { 
      "name":"Child5" 
     } 
    ] 
    } 
] 

et le code dans le fichier html

<li *ngFor='let submenu of filterType.submenus'> 
     <div class="checkbox"> 
     <input id="checkbox1" class="styled" type="checkbox" [(ngModel)]="submenu.selected"> 
     <label for="checkbox1"> 
         {{submenu.name}} 
        </label> 
    </div> 

     </li> 

comment obtenir que les case à cocher qui sont l'aide clicked..Please moi comme je hv de passer la valeur sélectionnée au graphique Highchart angulaire.

+0

essayant d'être clair - si vous voulez que votre case à vérifier. Comme je remarque que vous utilisez submenu.selected, mais à partir de votre réponse json vous n'avez pas la propriété sélectionnée sur les sous-menus object.i vous espérez que vous l'avez. –

Répondre

0

vous pouvez créer une température JSON en utilisant votre sous-menus

filternames = [ 
      { 
       name: 'Child1', 
       checked: false 
      }, 
      { 
       name: 'Child2', 
       checked: false 
      }, 
      { 
       name: 'Child3', 
       checked: false 
      }, 
      ]; 

      checked() { 
      return this.filternames .filter(item => { return item.checked; }); 
     } 

HTML

<li *ngFor='let submenu of filternames'> 
     <div class="checkbox"> 
     <input id="checkbox1" class="styled" type="checkbox" 
[(ngModel)]="submenu.checked" [value]="submenu.name"> 
     <label for="checkbox1"> 
         {{submenu.name}} 
        </label> 
    </div> 

     </li> 


     <pre>Selected names: <span *ngFor="let filternames of checked()" ">{{ filternames.name}}</span></pre 

>

fonction

cochée() retourne toujours votre case sélectionnée valeurs

+0

Merci pour votre réponse, mais j'ai trouvé une meilleure solution avec le passage submenu.name à l'événement, puis obtenir ce poussé à un tableau..Lien .. https://plnkr.co/edit/mWtlkydF0FzioS3c2esQ?p=preview – user2572561

+0

votre solution est excellente si votre graphique doit changer en fonction de la sélection case à cocher. – CharanRoot

0

Parce que vous avez lié les cases à votre modèle avec:

[(ngModel)]="submenu.selected" 

Tout ce que vous avez à faire est rampent/itérer filterType.submenus et filtre pour ceux qui ont selected===true

+0

merci pour votre réponse, Pouvez-vous s'il vous plaît partager morceau de code comme le stockage sélectionné valeur vérifiée dans tableau .. Merci encore à l'avance – user2572561