Angular 如何使用typescript获取div中文本框的值?

Angular 如何使用typescript获取div中文本框的值?,angular,typescript,Angular,Typescript,我的html是这样的 <div id="series1"> <div class="col-md-6"> <label for="Mark">Mark</label> <input type="text" id="mark" class="shortTextbox" (blur)="signalSelected('mark')" /> </div> </div>

我的html是这样的

<div id="series1">
    <div class="col-md-6">
        <label for="Mark">Mark</label>
        <input type="text" id="mark" class="shortTextbox" (blur)="signalSelected('mark')" />
    </div>
</div>

做记号
我想获取在文本框中输入的标记值的值。这个html代码在我点击按钮时重复。每次单击按钮时,id都会更改为series2和series3,依此类推

目前在typescript文件中,我取的值如下

var val = (<HTMLInputElement>document.getElementById(selection)).value
var val=(document.getElementById(selection)).value

但这不会给我为各个系列id选择的值。请提供如何根据id(系列1、系列2)获取标记值。

您可以使用
ngModel

<input type="text" [(ngModel)]="myFieldInComponentClass"
只要输入中的值发生变化(反之亦然),该字段就会被指定值

您可以让它成为一个getter/setter,在更改时执行代码

  private _myFieldInComponentClass:String;
  set myFieldInComponentClass(value :String) {
    this._myFieldInComponentClass = value;
    // other code
  }
  get myFieldInComponentClass() {
    return this._myFieldInComponentClass;
  }
只需在您的
输入字段中添加
[(ngModel)]=“mark”
,并添加一个名称, 您的html组件可能如下所示:

<div id="series1">
     <div class="col-md-6">
         <label for="Mark">Mark</label>
          <input type="text" id="mark" class="shortTextbox" [(ngModel)]="mark" (blur)="signalSelected('Mark')" name="mark" />
      </div>
</div>
...
mark: string;

signalSelected (markVal: string){
    markVal = this.mark
    console.log(markVal); // it is the value
}

您使用的是Angular2,为什么不使用绑定呢?如果我传递signalSelected('Mark'),Mark就是一个字符串值,您在methodsignalSelected(markVal:string){markVal=this.markI尝试了(blur)=“signalSelected(event)”,在方法中我得到的值是event.currentTarget.value。这很有效。
...
mark: string;

signalSelected (markVal: string){
    markVal = this.mark
    console.log(markVal); // it is the value
}