输入值与转发器字段的乘法总和

Posted

技术标签:

【中文标题】输入值与转发器字段的乘法总和【英文标题】:Multiplicate sum from input values with repeater_fields 【发布时间】:2018-08-25 12:18:29 【问题描述】:

我编写了一个函数来总结用户在输入字段中填写的所有内容。但我想将总和与我的转发器字段中的值相乘。 这是我现在的代码。

$(document).ready(calculate);   
$(document).on("keyup", calculate);

function calculate() 
var sum = 0;
var value1 = $("#element").val();
var value2 = $("#otherElemenet").val();
$(".o-money__answer").each(function()
    sum += +$(this).val();

);
$("#o-exercise__totalsum").html(sum);

这是我的 phpcode,用于从 repeaterfields 和 options 字段值中获取值。

<div id="o-exercise__totalsum">0</div>
<p><?php the_field('monetary_factor', 'option'); ?></p>
<?php if(have_rows('pengar')):while(have_rows('pengar')) : the_row();
$a_price = get_sub_field('a_price');
?>
<span><?php echo $a_price; ?></span>
<?php break; endwhile; endif; ?>            

【问题讨论】:

sum += +$(this).val();将其替换为 sum += parseInt($(this).val()); 还有什么错误? @SmithRaval 我没有收到错误,我只是想知道如何编写代码以将总和与子字段值相乘 您能出示 .o-money__answer 的 html 吗? @SmitRaval Antal 【参考方案1】:

你需要取一个隐藏字段,并将初始值设为0。

<input type="hidden" value="0" class="last_sum" />

现在在页面加载时,您无需执行任何操作。 在 .o-money__answer 的模糊事件中,您必须执行该函数。

    $(document).ready(function()
      $(".o-money__answer").blur(function()
        var last_sum = parseInt($(".last_sum").val());
          $(".o-money__answer").each(function()
           last_sum += parseInt($(this).val());
          );
        $(".last_sum").val(last_sum);
        $("#o-exercise__totalsum").html(last_sum);
    );
    );

【讨论】:

以上是关于输入值与转发器字段的乘法总和的主要内容,如果未能解决你的问题,请参考以下文章

如果一个输入中有相同的类,则多个输入字段的jquery总和

单击jquery mobile中的输入字段时弹出触发器?

插入后MySql触发器更新选择总和

可以为我们提供最大“触发器”总和的子列表数组是啥?

HH:MM:SS 格式的时间乘法

SQL Server 函数和触发器的问题