【问题标题】:Calculate checkbox enabled rows and display in another table angular计算启用复选框的行并在另一个表格中显示
【发布时间】:2020-12-12 13:13:43
【问题描述】:

我有两个表,完全是 Table1table2Table1 填充了来自服务的数据。在 Table1 中,我有 QtyPriceCheckbox 等列。在复选框列中,我将复选框作为值。数量和价格以数字为值 在 table2 我有名为 QtyPrice

的列

表1和2的图片

现在假设我点击 table1 中第 1、2、4 行的复选框。因此,如果您采用 table1 中的 Qty 列,则应添加第 1、2、4 行中的所有 Qty 值并显示在 table2 中的 >qty 列作为单个值。 价格列也是如此。 (示例 6,4,2 是第 1,2,4 行中 qty 列的值,因此 add(6+4+2) 并在 qty的第一行显示总计> table2 中的列

我尝试了两天无法找到解决方案。我知道这是一个非常困难的解决方案。 如果可以,请帮助我。

STACKBLITZhttps://stackblitz.com/edit/angular-ivy-coydaf?file=src%2Fapp%2Fapp.component.ts

【问题讨论】:

  • 制作一个可运行的sn-p
  • 我已经附上了一个stackblitz。stackblitz.com/edit/…@jqueryHtmlCSS
  • 显示您的 HTML。
  • 我已经在 stackblitz.2 表中显示了我的 html。在第二个表中只有列会在那里
  • 您好,您需要使用 jquery/js 执行此操作吗?

标签: javascript html jquery angular typescript


【解决方案1】:

在组件级别添加一个变量来保存总计数。

totalCount: any;

ngOnInit事件中初始化它。

this.totalCount = {qty:0,value:0};

在 Checkbox onChange 事件调用下面的函数将根据检查状态添加/减去。

getTotal(event,item) {
    if (event.target.checked) {
      this.totalCount.qty =  this.totalCount.qty + item.qty;
      this.totalCount.value =  this.totalCount.value + item.value;
    } else {
      this.totalCount.qty =  this.totalCount.qty - item.qty;
      this.totalCount.value =  this.totalCount.value - item.value;
    }
}

这样显示值。

<tr *ngIf="!(totalCount.qty == 0 || totalCount.value == 0)">
    <td>1</td>
    <td>{{totalCount.qty}}</td>
    <td>{{totalCount.value}}</td>
</tr>

Working StackBlitz:-

https://stackblitz.com/edit/angular-ivy-349pwn?file=src%2Fapp%2Fapp.component.html

【讨论】:

  • 嘿,谢谢你,我想在下面保留一个按钮。这样第二个表中的更改仅在单击按钮后才显示。当我尝试时,我无法访问列表和事件值,就像你在使用 onchange 之前所做的那样。我还做了一个 onclick in 按钮,并且我已经调用了 getTotal() 你通过在按钮 onclick 内使用 this,getTotal() 完成的操作,但这也不起作用。有什么想法吗?
  • 不行,试着理解逻辑。 onChange 是针对每个项目的,它如何在按钮单击时起作用。
  • 如果你想在一个按钮上点击你需要改变getTotal函数的逻辑
  • 如果我使用按钮单击,如果我要将按钮保留在表格之外,我将如何访问 $event 和列表值?
  • 在这种情况下您无法访问事件。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多