关联Angular 2中的2个字段(输入和选择)

时间:2017-04-17 12:05:28

标签: angular angular2-forms

我的表单中有2个字段,1个文本输入和1个选择。 主要功能是:当我在输入中键入数字时(例如:123),它会根据我选择中的选项值更改选择。

问题是,当我输入一个在select中不存在的数字时,select输入由这个数字设置,但我需要select由“NULL”设置,否则验证器不能工作这个领域。

示例:当您键入:001 - 显示库1时,如果是002库2,如果是003库3,但是如果键入005,则它不显示任何内容(确定),但是select的值设置为005,并且我需要设置NULL,因为它是005,在验证器中有一个VALUE,但是一个“假”值,验证器将传递一个伪值,该值在select对象列表中不存在。

PLUNKER:plunker here

<div class="form-group" [ngClass]="{'has-error':!form3.controls['banco'].valid && form3.controls['banco'].touched}">
         <label class="col-sm-2 control-label">Banco:</label>
         <div class="input-group">
             <span class="input-group-addon">*</span>
           <input formControlName="codBanco" type="text" class="form-control" placeholder="Código Banco..."
           (keyup)="codBanco($event.target.value)">

           <select [(ngModel)]="form3.banco" formControlName="banco" class="form-control"
                 [class.invalid]="form3.controls['banco'].touched && !form3.controls['banco'].valid" (change)="bankChanged($event)">
                   <option *ngFor="let banks of bancos" [value]="banks.code">{{banks.title}}</option>
            </select>
          </div>
          <div *ngIf="form3.controls['banco'].hasError('required') && form3.controls['banco'].touched" class="alert alert-danger">Preencha o campo banco.</div>
         <div *ngIf="form3.controls['banco'].hasError('pattern') && form3.controls['banco'].touched" class="alert alert-danger">O campo banco aceita somente números.</div>

        </div>



   codBanco(tecla){
            this.form3.controls['banco'].patchValue(tecla);
            //if(this.form3.controls['banco'].value)
                console.log(this.bancos.code.indexOf(237));

        }

        bankChanged(evento){
            this.form3.controls['codBanco'].patchValue(evento.target.value);
        }

0 个答案:

没有答案