2017-09-23 71 views
0

下面的代码是下拉菜单中的OnChange事件下拉菜单。 $ event.target.value给我的只有新值(这是选择后)。如何使用onChanges事件获取以前的值(选择前的值)。如何从angular2中的下拉菜单中获取新值和新值


<select class="form-control selectpicker selector" name="selectedQuestion1" [ngModel]="selectedQuestion1" (Onchange)="filterSecurityQuestions($event.target.value,0)"> 
<option [value]="0" disabled selected>Select Secuirty Question1</option> 
<option *ngFor="let securityQuestion of securityQuestions[0]" [value]="securityQuestion.SecurityQuestionID" > 
     {{securityQuestion.Question}} 
</option> 
</select> <br />      
<div> 
<input type="text" class="form-control" id="first_name" name="securityAnswer1" placeholder="Your first security answer"> 
</div> 

filterSecurityQuestions(questionNo: number, securityQtnDropdownNo: number) { 
// I want previous value of dropdown here. 
} 

回答

1

你可以保持一个属性,它会保存旧的值,例如在波纹管例如:

HTML

<select #select id="pageSize" [ngModel]="myValue" (ngModelChange)="select.value = onChange($event)"> 
    <option value="1">value1</option> 
    <option value="2">value2</option> 
    <option value="3">value3</option> 
</select> 

打字稿

myValue = 1; 
    oldValue=1 

    onChange(event) { 
    const response = window.confirm("Are you sure you want change the page size? Your edits will be lost?"); 
    if (response) { 
     this.myValue = event; 
     this.oldValue = event; 
    } 
    else{ 
     this.myValue = this.oldValue; 
    } 
    console.log(this.myValue) 
    console.log(this.oldValue) 
    return this.myValue; 
    } 

DEMO

+0

您可以同时使用点击事件存储前值和改变作用于变化。 –

相关问题