Working with multiple selects in form group

0

I have two selects:

<div class="select">
  <select [class.disabled]="loadingcadastro" (change)="getIdTipoVariacao(item.value.tipo, i)" formControlName="tipo" class="select-text">
    <option class="dropdown-item" selected>{{item.value.tipo || 'Tipo da Variação'}}</option>
    <option [hidden]="item.value.tipo == tipoVariacao.valor" *ngFor="let tipoVariacao of tiposvariacoes;let j = index"
      class="dropdown-item">{{tipoVariacao.valor}}</option>
  </select>


  <span class="select-highlight"></span>
  <span class="select-bar"></span>
</div>

<div class="select">
  <select formControlName="valor_atributo" class="select-text">
    <option class="dropdown-item" selected>{{item.value.valor || 'Valor'}}</option>
    <option *ngFor="let ValorAtributo of listaAtributos;let x = index"
      class="dropdown-item">{{ValorAtributo.valor}}</option>
  </select>


  <span class="select-highlight"></span>
  <span class="select-bar"></span>
</div>

Depending on the choice of the first select, the name of that variation and the index is sent to the function getIdTipoVariacao. Through this data I can send to my backend the id of the first option selected so that it returns the data of the second select.

The problem happens that if I have two selects on the screen, when I change the first select, the other subsequent selects are given the value "Value". In case only the first select should receive value "Value":

Follow my ts:

getIdTipoVariacao(variacao:string, index: number) { // pega o id de um determinado tipo de variação para mandar para a função get-lista-valor-atributo para obter a lista de atributos daquela variação
    for(let i=0;i<this.tiposvariacoes.length;i++){
      if(this.tiposvariacoes[i].valor == variacao){
        this.idTipoVariacao = this.tiposvariacoes[i].id
      }
    }

    //Tendo o id selecionado, já pode copular a próxima combobox de valores:
    this.listaValoresAtributo(this.idTipoVariacao);

        //Condição criada pois ao selecionar um Tipo de Variação, selecionar um atributo e depois trocar o tipo de variação, o atributo selecionado continuava na lista de tipo de variações.
    //Agora quando já existe um atributo selecionado e é trocado para outro tipo de variação que não contempla aquele atributo, é voltado para o valor padrão.
    if(this.variacaoForm.value.variacoes[index].valor != null){
      this.variacaoForm.value.variacoes[index].valor = null;
    }

Iwouldlikewhenchangingthefirstselectoption,changetothedefaultoption"Value", but only the first sellect.

Could anyone help me?

    
asked by anonymous 06.11.2018 / 12:19

0 answers