2013-03-18 139 views
0

我發現這個問題,它看起來很簡單,但我找不到任何解決方案。我有一系列像下面這樣的元素:迭代到一個元素數組

<input type="text" name="subTotal[]"/> 
<input type="text" name="subTotal[]"/> 
<input type="text" name="subTotal[]"/> 
<input type="text" name="subTotal[]"/> 

使用jquery,我想從這四個subTotal中計算總數。當該subTotal的值被改變時,計數將被觸發。我試過它像下面,但它不起作用:

var totalPrice = 0; 
$('input[name="subTotal"]').each(function(key, value) { 
    totalPrice += value; 
    alert(totalPrice); 
}); 

任何解決方案?

+0

你的名字屬性選擇器是錯誤的。你錯過了'[]'。 – 2013-03-18 15:45:49

+0

「不起作用」不是一個有用的短語。告訴我們發生了什麼事以及你的期望。你也沒有綁定到任何輸入改變事件(至少不是你發佈的代碼中)。 – 2013-03-18 15:46:01

+0

你也需要'$(':input')'而不是'$('input')'...... – 2013-03-18 15:51:58

回答

2

試試這個,通過使用name^=和parseInt函數的值這裏http://jsfiddle.net/gBudm/

+0

太棒了!有用。非常感謝! – 2013-03-18 16:13:59

0

var totalPrice = 0; 
    $('input[name^="subTotal"]').each(function() { 
     totalPrice += parseInt(this.value); 
     alert(totalPrice); 
    }); 

演示試試這個:

$('input[name^="subTotal"]').change(function() { 
    var totalPrice = 0; 
    $('input[name^="subTotal"]').each(function() { 
     totalPrice += parseInt(this.value);   
    }) 
    alert(totalPrice); 
}); 

的計數將被觸發時小計值被改變。 Demo here

+0

太棒了!有用。非常感謝! – 2013-03-18 16:14:23

相關問題