0
我試圖讓所選擇的下拉列表的價值,我嘗試使用形式下拉列表中選擇菜單值 - 角2
console.log(this.myForm.controls['SignUpForm'].value['states'];
得到它,但它返回「未定義」。一些幫助將不勝感激。這是我的完整代碼。
index.component.html
<form novalidate [formGroup]="myForm" (ngSubmit)="onSignUp()" autocomplete="off">
<div formGroupName="SignUpForm">
<div>
<select formControlName="state" title="University">
<option *ngFor="let state of states" [ngValue]="state">{{state.abbrev}}</option>
</select>
</div>
</div>
<div>
<button type="submit" name="action">Sign Up</button>
</div>
</form>
helloworld.component.ts
export class HelloWorldComponent implements OnInit {
myForm: FormGroup;
constructor(private _fb: FormBuilder){ }
states = [
{name: 'Arizona', abbrev: 'AZ'},
{name: 'California', abbrev: 'CA'},
{name: 'Colorado', abbrev: 'CO'},
{name: 'New York', abbrev: 'NY'},
{name: 'Pennsylvania', abbrev: 'PA'},
];
onSignUp(): void {
console.log(this.myForm.controls['SignUpForm'].value['abbrev'])
}
ngOnInit() {
this.myForm = this._fb.group({
SignUpForm: this._fb.group({
state: [this.states, Validators.compose([
Validators.required
])]
})
});
$(document).ready(function() {
$('select').material_select();
});
}
}
我仍然沒有定義。我是否正確地在ngInit方法中初始化它? –
您的代碼(減去document.ready ...)對我來說工作正常:http://plnkr.co/edit/YZ9FjgRIEE9rUgbHOfTA?p=preview – Alex
我同意,但是當我刪除document.ready代碼時,下拉列表不顯示完全沒有問題。我正在使用Materilizecss框架。 –