J'ai un code déroulant de sélection qui est comme celui-ci dans certains cas, il est masqué, lorsque le menu déroulant de sélection est masqué, je veux envoyer null ou 0 au lieu d'une valeur vide lorsque j'enregistre le formulaire, comment procéder.

         <div class="col-md-4" [hidden]="!cpSettlement">
            <select
            class="form-control"
            name="settlement"
            [(ngModel)]="settlement"
            [required]="cpSettlement && payTermOptions"
          >

            <option [value]="'Net'">Net</option>
            <option [value]="'Monthly'">Monthly</option>
            <option [value]="'Quarterly'">Quarterly</option>
          </select>
        </div>
0
spectra info 15 juin 2020 à 20:06

1 réponse

Meilleure réponse

Dans votre méthode de sauvegarde, vous pouvez simplement faire

save() {
   this.settlement = this.cpSettlement ? this.settlement : null;
}

Dans ce cas, si cpSettlement est true, vous aurez la valeur du règlement à partir des options déroulantes. Sinon, si cpSettlement est false, la liste déroulante est masquée, la valeur sera donc null.

MISES À JOUR

            <div class="col-md-4" [hidden]="!cpSettlement">
                <select
                class="form-control"
                name="settlement"
                [(ngModel)]="settlement"
                [required]="cpSettlement && payTermOptions"
              >

                <option value="Net">Net</option>
                <option value="Monthly">Monthly</option>
                <option value="Quarterly">Quarterly</option>
              </select>
            </div>

Si vous attribuez une valeur statique aux options, vous n'avez pas besoin d'utiliser des accolades comme vous l'avez fait [value]. Au lieu de cela, vous devez simplement utiliser comme dans les valeurs d'options html normales. value="Monthly".

0
Kirubel 15 juin 2020 à 18:13