在表值上绑定更改事件

时间:2018-04-19 17:05:33

标签: javascript html html5 angular

我是Angular的新手,我需要帮助编写一个事件,可以将更改后的值从表传递给我的组件。 下面是表格单元格,以便当用户更改该值时,应将其传递给component.ts。

HTML:

<tbody contenteditable='true'>

  <tr *ngFor="let item of calendarTableSelected">

    <td input type="text" (ngModelChange)="saveCalendar($event)" [ngModel]="name.value" *ngFor="let name of item.results" name="promoOne" ngDefaultControl>
      {{name.value}}

    </td>

  </tr>

</tbody>

Component.ts:

saveCalendar($event): void {
  console.log("Updated Value" + this.tableValue); // updated value
  this.body = {
    "promotionname": this.promotionname,
    "period": this.period,
    "indicator": this.indicator,
    "value": this.value
  };
  this.services.saveCalendar(this.body)
    .then(
      response => {
        if (response == "Success") {
          this.firstPage(this.clickedItem);
        }
      }
    );

}

但它没有触发事件。 如果我在这里遗漏任何东西,请帮助我。

1 个答案:

答案 0 :(得分:1)

您的HTML似乎没有正确格式化。尝试在表格单元格中添加输入。 name属性也必须是唯一的:

<tbody>

  <tr *ngFor="let item of calendarTableSelected">

    <td>
      <input type="text" *ngFor="let name of item.results" (ngModelChange)="saveCalendar($event)" [ngModel]="name.value"  [name]="name.value"/>
    </td>

  </tr>

</tbody>