javascript - Angular 2 选择菜单值

标签 javascript angular

我试图获取此下拉列表的值,但我得到一个空字符串。

    <form novalidate [formGroup]="myForm" (ngSubmit)="test()" autocomplete="off">
<divformGroupName="SignUpForm">
    <div class="row">
        <div>
         <select formControlName="helloworld" title="University">
           <option *ngFor="let firstname of names">{{firstname}}</option>
         </select>
        </div>
    </div>
</div>
  <div>
<button type="submit" name="action">Sign Up</button>
</div>
</form>

这是 typescript 文件

 myForm: FormGroup;

  constructor(private _fb: FormBuilder) { }

  list = [
    {"name": "A"},
    {"name": "B"},
    {"name": "C"},
  ];
  names: Array<string> = this.list.map(id => id.name);

  test(){
    console.log(this.myForm.controls['SignUpForm'].value['helloworld']);
  }

  ngOnInit() {
    this.myForm = this._fb.group({
      SignUpForm: this._fb.group({
        helloworld: ['', Validators.compose([
          Validators.required,
        ])]
    }),
    });

我无法获取选择菜单的值。当我执行 console.log 时,我得到一个空字符串。

任何帮助将不胜感激。谢谢。

最佳答案

根据此处的文档:

https://angular.io/docs/ts/latest/api/forms/index/SelectControlValueAccessor-directive.html

您需要在选项标签上绑定(bind) [ngValue],以使支持模型遵循您的 View 。

那么它看起来像这样:

<form novalidate [formGroup]="myForm" (ngSubmit)="test()" autocomplete="off">
<divformGroupName="SignUpForm">
    <div class="row">
        <div>
         <select formControlName="helloworld" title="University">
           <option *ngFor="let firstname of names" [ngValue]="firstname">{{firstname}}</option>
         </select>
        </div>
    </div>
</div>
  <div>
<button type="submit" name="action">Sign Up</button>
</div>
</form>

关于javascript - Angular 2 选择菜单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41840352/

相关文章:

javascript - 延迟隐藏下拉菜单

javascript - 验证月份的输入

angular - ngx-chips:无法显示自动完成项目

javascript - 有没有办法在没有猴子补丁的情况下装饰/拦截 Angular 4 中的内置指令?

javascript - 我如何知道最后一个异步操作何时完成?

javascript - 在 Node.js res.redirect() 中包含 JSON

javascript - onclick 依赖于 for 循环的 i 值。我该如何删除它?

rest - Angular 2 创建模型与动态处理 json 对象?

angular - 何时使用 RxJS Observable<Object[]> 和 Observable<Object>?

javascript - 如何合并两个分别包含对象数组的对象?