attr.data возвращает ноль на угловых 5 - PullRequest
0 голосов
/ 27 июня 2018

Я пытался получить значение идентификатора для выбранной радиокнопки, и для этого я использовал attr.data-formr , однако после передачи значения через функцию подтвержденный1 () , возвращает значение NULL . Я хотел получить значение attr.data-formr, которое определено во входном теге. Что может быть не так?

HTML код:

<form [formGroup]="posTrial" #q1> 
   <label class="labl">
    <input type="radio" 
     [attr.data-formr]=1 
     class="form-control" 
     formControlName="pos1"  
     value={{quizData[0].option1}}>
    <div class="option">{{quizData[0].option1}}</div>
   </label>
  <label class="labl">
    <input type="radio" 
      [attr.data-formr]=2  
      class="form-control"  
      formControlName="pos1"  
      value={{quizData[0].option2}}>
    <div class="option">{{quizData[0].option2}}</div>
  </label>
  <label class="labl">
    <input type="radio" 
      [attr.data-formr]=3 
       class="form-control" 
       formControlName="pos1"  
       value={{quizData[0].option3}}>
     <div class="option">{{quizData[0].option3}}</div>
   </label>
    <label class="labl">
      <input type="radio" 
        [attr.data-formr]=4 
        class="form-control" 
        formControlName="pos1"  
        value={{quizData[0].option4}}>
      <div class="option">{{quizData[0].option4}}</div>
    </label>
    <div *ngIf="toggle1!=1 ; then template1; else template2" style="display:inline"></div>
    <ng-template #template1>
        <button mat-raised-button color="primary" style="width:100%;"  (click)="confirmed1(this.posTrial.value.pos1,q1.getAttribute('data-formr'))" [disabled]="!posTrial.dirty" class="footer">Confirm</button>
    </ng-template>
    <ng-template #template2>
        <button mat-raised-button color="primary" style="width:100%;" class="footer1" (click)="selectNext(matgroup)" >Next</button>
        <button mat-raised-button color="primary" style="width:100%;"  class="footer2" (click)="openDialog(quizData[0].info)" >Show Details</button>
    </ng-template>
 </form>

Угловой код:

confirmed1(ans:any,id:any)
      {
        console.log(ans);
        if(ans==this.ansData[1].answer)
        {
          console.log("tango successful");
          this.toggle1Cor=1;
          console.log(id);

        }
        else{
          console.log("Charlie SOS");
          this.toggle1Cor=2;
          console.log(id);

        }
        this.toggle1=1;
        this.posTrial.get('pos1').disable()
        this.dis=1;
        console.log(id);   
  }

Результаты консоли

option11              page-questions.component.ts:178 
Charlie SOS           page-questions.component.ts:180 
null                  page-questions.component.ts:186

1 Ответ

0 голосов
/ 03 ноября 2018

Я нашел решение. Я не собирал данные из атрибута. Скорее мой метод был совершенно неверным. Мне пришлось использовать getAttributes(), чтобы получить конкретное значение атрибутов

...