samedi 18 août 2018

how to make multiple checkbox checked in Angular where checkbox one column in database?

editStatusObj.categories values comes from database like (1,15,23) in one column, if there is only one value available then it shows checkbox checked, but how to show multiple checked using multiple values in angular

edit-status.component.html

<div>
  <label *ngFor="let statusCategoryObj of statusCategoryObj"> 
    <mat-checkbox  value="" [checked]="statusCategoryObj.id == editStatusObj.categories" name="categories" (change)="onCheckboxChange(statusCategoryObj,$event)">
      </mat-checkbox> 
  </label>
</div>

edit-status.component.ts

editStatusObj : Status = new Status();
statusCategoryObj : Category[];

ngOnInit() {
 const id = +this.route.snapshot.paramMap.get('id');
  this.statusService.editStatusDetailsById({'id': id}).subscribe(
    (data) => {
      if(data.status == 28){
       editStatusObj.id = data.payload[0].id;
       editStatusObj.categories = data.payload[0].categories;
      }
    }
  )

  this.statusService.getCategoryInStatus(em).subscribe(
    (data) => {
      if(data.status == 23){
        statusCategoryObj.id = data.payload.id;
      }
    }
  );
}

app.js(node side code)

app.post('/editStatusDetailsById',function(req,res){
  connection.query('SELECT id,categories from status WHERE id = ?',[req.body.id], function (error, results, fields) {
  if (error) throw error;
   res.send({
     'status':'28',
     'success': 'true',
     'payload': results,
     'message':'one language is edited'
   });
  });
});

status.ts

export class Status {
   constructor(public id : number = null,
               public languages : string = "") { }
}

statuscategory.ts

export class StatusCategory {
constructor(public id : number = null,
            public categorytitle : string = "",
           ){}




Aucun commentaire:

Enregistrer un commentaire