我正在使用 Javascript 更新隐藏表单字段的一些值,这些字段用于计算总数。这工作正常,但现在似乎发生了一些奇怪的事情,我不知道是什么。
<input type="hidden" name="membership[<?php echo $row_id; ?>][total]" class="<?php echo $row_id; ?>total" value="<?php echo $social_prices[$row['membership']]; ?>">
在我的全部功能中,如果我 console.log 我得到的整个对象:
<input type="hidden" name="membership[1][total]" class="1total" value="43.5">
但如果我只是抓住这个值,我会得到该字段的原始值,即 24 .. 所以总数是使用原始值而不是更新的值来计算的......
这就是我在执行 console.log 的方式;
console.log(this);
console.log((this.value));
这就是我更新值的方式:
$('.'+membership+'total').val(total);
如果我在那一行之后立即运行这一行,我会得到正确的值:
alert($('.'+membership+'total').val());
但是当我尝试我的全部功能时,这一切都出错了,这是我不会发布的功能中的一些代码;因为它真的很长,所以不会发布全部内容。
var total = 0;
$('input:hidden').each(function () {
// I'm using this to make sure I get only the field I want to add together
var result = name.match(/total/g);
if((result)){
console.log(this);
console.log((this.value));
total = total + parseFloat((this).value);
}
});