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框架。 –