Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

115
Vistas
Cómo obtener los valores de la casilla de verificación predeterminada

Estaba trabajando en un proyecto de casilla de verificación múltiple. Allí, quiero que las casillas de verificación se marquen desde el principio y que el valor esté en el formulario (estoy usando un formulario reactivo). El usuario puede deseleccionar las casillas según su deseo y los datos se almacenarán en consecuencia. Este es el stackblitz del proyecto. Allí pude marcar la casilla de verificación desde el principio, pero cuando presioné el botón Enviar no hay datos cuando inicié sesión en la consola. Creo que este es un problema vinculante, pero no pude averiguar cuál es exactamente el problema. ¿Alguien puede ayudar? Gracias por adelantado.

Este es el código:

 <form [formGroup]="form" (ngSubmit)="submit()"> <div class="form-group"> <label for="website">Website:</label> <div *ngFor="let web of websiteList"> <label> <input type="checkbox" [value]="web.id" (change)="onCheckboxChange($event)" [checked]="web.isSelected" /> {{ web.name }} </label> </div> </div> <button class="btn btn-primary" type="submit">Submit</button> </form>
 form: FormGroup; websiteList: any = [ { id: 1, name: 'HDTuto.com', isSelected: true }, { id: 2, name: 'HDTuto.com', isSelected: true }, { id: 3, name: 'NiceSnippets.com', isSelected: true }, ]; constructor(private fb: FormBuilder) { this.form = this.fb.group({ website: this.fb.array([], [Validators.required]), }); } ngOnInit() {} onCheckboxChange(e: any) { const website: FormArray = this.form.get('website') as FormArray; console.log('checking ->', e); if (e.target.checked) { website.push(new FormControl(e.target.value)); console.log('website ->', website); } else { //console.log(e); const index = website.controls.findIndex((x) => { console.log('x.value ->', x.value); console.log('target.value ->', e.target.value); x.value === e.target.value; }); website.removeAt(index); } } submit() { console.log(this.form.value); }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

https://stackblitz.com/edit/angular-ivy-qar4ph?file=src/app/app.component.ts Preste atención a los cambios en la plantilla:

  1. Se agregó el atributo formArrayName al contenedor de casillas de verificación y el atributo formControlName al elemento de entrada.
  2. change eliminado y atributos checked

En el archivo ts del componente:

  1. Valores de matriz de forma inicial agregados
  2. Asignación agregada al método de envío
  3. Se eliminó el método onCheckboxChange
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda