【发布时间】:2018-05-05 13:00:04
【问题描述】:
我正在开发一个测验应用程序,对于给定的问题有 4 个选项。我已经编写了一个函数来验证单击的选项是正确答案还是错误。我在知道用户选择了哪个选项时遇到了问题,我想使用 CSS 将其设置为 - 如果选择了错误的选项,则单击选项会变成红色,正确的选项会变成绿色,反之亦然。
HTML:
<div *ngFor="let actiVar of activeArray ;let j = index" >
{{actiVar.QuestionID}}.{{actiVar.Question}}
<br>
<br>
<button type="button" name="s" id="one" (click)="filterAnswer(actiVar.OP[j+0]) ; getColor(actiVar.OP[j+0])" [ngStyle]="{backgroundColor: buttonColor}" [disabled]="permissionoptions">{{actiVar.OP[j+0]}}</button>
<br>
<br>
<button type="button" name="s" id="two" (click)="filterAnswer(actiVar.OP[j+1]) ; getColor(actiVar.OP[j+1])" [ngStyle]="{backgroundColor: buttonColor}" [disabled]="permissionoptions">{{actiVar.OP[j+1]}}</button> <br>
<br>
<button type="button" name="s" id="three" (click)="filterAnswer(actiVar.OP[j+2]) ; getColor(actiVar.OP[j+2])" [ngStyle]="{backgroundColor: buttonColor}" [disabled]="permissionoptions">{{actiVar.OP[j+2]}}</button> <br>
<br>
<button type="button" name="s" id="four" (click)="filterAnswer(actiVar.OP[j+3]) ; getColor(actiVar.OP[j+3])" [ngStyle]="{backgroundColor: buttonColor}" [disabled]="permissionoptions">{{actiVar.OP[j+3]}}</button>
<br>
</div>
我已经设置了一个getColor func onclick 所选择的选项,但它的作用是,如果用户选择了错误的选项,它会将所有 4 个选项变为红色,反之亦然。它没有专门打开点击的选项变为红色。
getColor(j: any) {
if (j == this.activeArray[0].isRight) {
this.buttonColor = 'green';
}
else {
this.buttonColor = 'red';
}
}
this.activeArray[0].isRight 是从 JSON 中检索到的正确答案。
我知道我必须在按钮上使用单独的 id 标签才能知道单击了哪个选项按钮,但我没有运气在 stackoverflow 上找到正确的逻辑。
【问题讨论】:
标签: javascript css angular