【问题标题】:jquery calculations. Multiple div totals and grand total calcjquery 计算。多个 div 总计和总计计算
【发布时间】:2014-09-16 17:17:10
【问题描述】:

我正在尝试计算多个 div 的价格 * 输入值,但不确定如何计算(使用 .each()???)。

这是我的小提琴:http://jsfiddle.net/V5hrY/2/

您可以看到我评论了无法正常使用的部分:

>//HAVING TROUBLE HERE!!!
$('.total p span').each(function(){
        $(this).html(
            $('.total p span').closest(".info").find('.price p span').html() 
            * 
            $('.total p span').closest(".info").find('.ticket input').val());
    });

大多数部分都运行良好,除非您在不同的输入字段中有几个整数并选择不同的单选按钮,然后单独的计算就会关闭。特别是因为我对 .each() 或循环的知识非常有限,同时在每个 div 中计算特定的东西到特定的总数。

如果不清楚,请告诉我,它基本上是在//HAVING TROUBLE HERE. 下方的.each()

另外,如果有人也可以为我推测这个答案。由于某种原因,我无法在小提琴上重现此错误,但这是我在我的网站上遇到的另一个错误。在初始页面加载时,如果我没有在单选按钮上选择任何内容,而是在第二个或第三个 ul...开始正确计算。

提前感谢您的帮助!

【问题讨论】:

  • 感谢 Amin,仍在努力改进编辑

标签: javascript jquery calc


【解决方案1】:

你想要做的是:

        $('.total p span').each(function(){
            $(this).html(
                $(this).closest(".info").find('.price p span').html() 
                * 
                $(this).closest(".info").find('.ticket input').val());
        });

您在每次迭代时更改所有这些 span 标签的内部 html 的方式 - 结果是 ALL 使用为 LAST 元素计算的总和进行更新。

【讨论】:

  • 打败我!区分您在循环中调用的内容或附加到元素的函数很重要。通常 each() 函数将循环遍历每个项目(显然),因此 $(this) 成为循环各个项目的正确调用。
  • 哇,谢谢!我不敢相信我在正确的轨道上哈哈。以为会是完全不同的东西。谢谢你们两位的解释,这完全有道理。您对 NaN 问题有任何想法吗?我打算编辑我​​的原始帖子,因为我只是再次测试了它,并且每当我在执行任何其他操作之前单击任何输入时...直到我单击单选按钮或单击所有三个输入然后它会计算,直到它显示总计中的 NaN...
  • 抱歉 - 我无法重现该部分。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-17
  • 2012-01-25
  • 1970-01-01
  • 2019-02-18
  • 2015-09-05
相关资源
最近更新 更多