gpt4 book ai didi

jquery - 每行 knockout 总值(value)

转载 作者:行者123 更新时间:2023-12-01 08:00:03 24 4
gpt4 key购买 nike

我想我已经尝试了这方面的所有方法,但我无法弄清楚这一点。我只是想在用户增加数量时更新表中每一行的总价。到目前为止我已经尝试过

  • HTML 中的数学:data-bind="text: parseFloat((total * amount), 10)"
  • 使用 ko.compulated() (它“有效”,但为每行的总计返回相同的值)
  • 订阅事件
  • 使用 ko.utils.arrayForEach 和 jQuery $.each() 循环遍历每个 observableArray 的项目
  • 使用 create() 函数添加 ko.compulated 属性作为映射选项的一部分,但我并不真正理解这一点。

<强> Here's a fiddle 。如果有人对我如何完成这个看似简单的任务有任何建议,我将不胜感激。

大多数失败的尝试都在该 fiddle 的评论中。我最接近的是 ko.compulated 但我只能让它返回一个值 - 表中最后一行的值。谢谢

最佳答案

取决于你想要实现什么。为了简单的显示目的,一个函数可以做到:

viewModel.calcTotal = function ( row ) {
return parseFloat(( row.total() * row.quantity() ), 10);
};

for 循环 $data 中有一个特殊变量将传递您的行数据:

<td><span data-bind="text: $root.calcTotal($data)"></span></td>

此外,如果您添加括号,您在 HTML 中使用数学的第一点将起作用。绑定(bind)可观察量的简单形式在表达式中不起作用。

data-bind="text: parseFloat(( total() * quantity() ), 10)"

关于jquery - 每行 knockout 总值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20623038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com