没有看到Javascript值设置正确

时间:2013-02-28 11:31:31

标签: jquery

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

但是,当我尝试我的全部功能时,这里出现的一切都是错误的,这是我赢得的功能中的一些代码; t发布了很多因为它真的很长。

   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);
   } 
   });

2 个答案:

答案 0 :(得分:0)

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

更改来自的默认值。

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

答案 1 :(得分:0)

无法找到它的原因可能您的班级名称无效。它以数字开头,这是不允许的。类名的撤销如下:

Naming rules:

Must begin with a letter A-Z or a-z
Can be followed by: letters (A-Za-z), digits (0-9), hyphens ("-"), and underscores ("_")
In HTML, all values are case-insensitive

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

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