-2

我正在使用 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);
   } 
   });
4

2 回答 2

0
$('.'+membership+'total').attr('defaultValue', 'newValue');

更改来自的默认值。

除此之外,.val 可以在 DOM 上完美运行

于 2013-02-28T11:45:52.803 回答
0

找不到的原因可能是你的类名无效。它以数字开头,这是不允许的。类名的限制如下:

命名规则:

必须以字母 AZ 或 az 开头
后面可以跟:字母 (A-Za-z)、数字 (0-9)、连字符 ("-") 和下划线 ("_")
在 HTML 中,所有值都不区分大小写

来源:http ://www.w3schools.com/tags/att_global_class.asp

一个解决方案可能是交换单词和数字:class="total1". 这样名称是有效的,但您可以将相同的信息放入标识符中。

于 2013-03-26T15:09:51.847 回答