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

时间:2017-03-15 21:35:55

标签: 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代码。每次单击按钮时,id都会更改为series2和series3,依此类推。

目前在打字稿文件中我的价值就像

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

但是这不会给我为相应的系列ID选择的值。您能否提供一下如何根据id(series1,series2)...

获取标记值

2 个答案:

答案 0 :(得分:1)

只需在[(ngModel)]="mark"中添加input field和名称, 你的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>

并在你的component.ts中定义一个变量然后得到它是这样的值:

...
mark: string;

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

答案 1 :(得分:0)

您可以使用ngModel

<input type="text" [(ngModel)]="myFieldInComponentClass"

如果您有<{1}}字段

myFieldInComponentClass

只要输入中的值发生变化(以及相反的方式),此字段就会分配值。

您可以使其成为getter / setter以在更改时执行代码

class MyComponent {
  myFieldInComponentClass:String;