2013-02-28 54 views
-2

我正在使用Javascript來更新隱藏表單域的一些值,後者用於計算總數。這工作正常,但現在有些奇怪的事情正在發生,而我正在爲了解決問題而迷失方向。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); 
    } 
    }); 
+0

什麼是「總」功能? – 2013-02-28 11:32:38

+0

你可以在jsfiddle或jsbin上發佈你的例子嗎?或者只是在這裏粘貼你的代碼。 – svlada 2013-02-28 11:32:57

+0

你如何更新值? document.getelementbyid(x).value = xxx? – Toping 2013-02-28 11:33:47

回答

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

更改來自默認值。

除此之外,.VAL對DOM

0

它不能被發現的原因完全的工作原理是可能你的類名是無效的。它從一個數字開始,這是不允許的。對類名resictions如下:

 
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"。這樣的名字是有效的,但你可以把相同的信息放在標識符中。