передать идентификатор выбранного флажка (который загружается с ngFor), когда он установлен - PullRequest
4 голосов
/ 09 января 2020
       <form name="check-boxes">
          <div *ngFor="let quest of noOfQuestions">
            <div class="form-check form-check-inline" *ngFor="let ans of noOfAnswers">
              <label class="form-check-label">{{ans}}
               <input class="form-check-input" type="checkbox" name="{{quest}}" id="{{quest}}{{type}}" value="{{ans}}"  (change)="getAnswers(id)"> 
              <span class="form-check-sign"></span>
             </label>
            </div>
          </div>
      </form>

Пример вывода в angular componentx. html: enter image description here

Этот код генерирует набор флажков в соответствии с предоставленными noOfQuestions и noOfAnswers. Я хочу передать конкретный идентификатор флажка функции 'getAnswer', когда флажок установлен. Передано значение параметра 'id' в файл ts, оно считается неопределенным. Каким должен быть параметр для getAnswer () для передачи идентификатора выбранного флажка ???

Ответы [ 2 ]

2 голосов
/ 09 января 2020

если вы передадите $ event:

(change)="getAnswers($event)"

, то у вас должен быть доступ к этому элементу ввода в вашем файле машинописи через event.target, но также важно проверить, отмечен ли флажок:

getAnswers(event) {
   if (event.target.checked) {
      console.log('checked: ' + event.target.id);
   } else {
      console.log('unchecked: ' + event.target.id);
   }
}
1 голос
/ 09 января 2020

Сделайте вот так.

В вашем html

(change)="getAnswers(quest,type)"

В вашем машинописном тексте

//I have no idea about the types of parameters you used.
getAnswers(quest: any, type: any) 
{
    console.log('Id: ' + `${quest}${type}`);
}
...