仅在选择所有选项时才绑定数据

时间:2017-10-23 14:56:46

标签: javascript angular typescript

我有这个代码,我想要,只有选择了两个选项,然后将结果返回到另一个变量。 我有这段代码:

var vars = [];
if (vars.length == 0) {
  if (this.selectedOption !== undefined) {
    vars.push({
      'option': this.selectedOption
    })
  }
  if (this.selectedOption2 !== undefined) {
    vars.push({
      'option': this.selectedOption2
    })
  }
}

if (this.selectedOption !== undefined && this.selectedOption2 !== undefined) {
  this.selectedVars = vars;
}

目前,如果用户只选择一个选项,则在控制台上即可获得“undefined”。当另一个函数检查这两个选项时,我有一个错误。 所以它可能以某种方式,然后变量“ selectedVars ”等待用户选择这两个选项之前? 对不起我的语言和thx提前!

1 个答案:

答案 0 :(得分:1)

如果要在选择两个选项时触发代码,可以执行以下操作:

checkIfBothSelected() {
    if (this.selectedOption && this.selectedOption2) {
        this.selectedVars = [
                {option : this.selectedOption},
                {option : this.selectedOption2}
        ]
    } else {
        console.log("Both checkboxes are not selected.")    
    }
}

在您的复选框或选项或其他内容上:

<input type="checkbox" [(ngModel)]="selectedOption" (click)="checkIfBothSelected()"/>
<input type="checkbox" [(ngModel)]="selectedOption2" (click)="checkIfBothSelected()"/>