2012-03-05 84 views
1

我與jQuery Calculation Plugin工作。這重複了4次。的jQuery插件計算:總結分類彙總到一個網頁,我做的量x價的計算方法,然後添加到小計上創建總計

每組4個涉及具有不同id和不同計算的字段(不僅僅是價格x qty)。

4個小計字段的ID是subtotal_events,subtotal_raffle,subtotal_sdc,subtotal_late。

除了顯示個別小計,我需要顯示「總計」 ......一共分類彙總的。

在下面引用的小提琴中,我硬編碼了4個小計中的兩個的值。

我也創建了一個函數recalc3,它正在#grandtotal範圍內生成NaN。根據硬編碼小計,價值應爲70美元,即使沒有訂購任何旅行團或額外門票。

閱讀帖子和試驗和錯誤的時間沒有讓我更接近,所以任何幫助實現目標非常讚賞。

這裏的小提琴:http://jsfiddle.net/sadiem/7spHt/

回答

0

您正在試圖提取SPAN元素中的文本,但使用的是$(本).VAL功能。 使用$(this).text函數,並在解析爲浮點形式之前刪除文本中的$符號。

更新的jsfiddle:http://jsfiddle.net/7spHt/9/

$("[id^=subtotal_]").each(function() { 
    var fee = parseFloat($(this).text().replace("$", "")); 
    grandtotal += fee; 
}); 
+0

謝謝,這有幫助!如果您可以騰出時間再看一下,您能告訴我爲什麼我無法獲得Total Due(#grandtotal)更新,除了事件部分中的關鍵事件?我需要每次更新4個小計中的任何一個,但我錯過了一些東西。 。(我將是如何計算的結構可能是更精簡的任何想法感激,雖然這是沒有必要感謝您幫助我學習 的jsfiddle:HTTP://jsfiddle.net/sadiem/crz2M/9/ – Sadie 2012-03-05 16:18:45

+0

這因爲你正在綁定keyup事件來計算總計...... [id^= subtotal_]的更改事件不會引發火災,因爲沒有像SPAN元素那樣的事件發生變化。 – Chandu 2012-03-05 17:57:25

+0

如果你能總結出你是什麼試圖實現,我可以嘗試看看是否有更好的實施.. – Chandu 2012-03-05 17:57:51

0

您也可以組的一類

例如輸入。

input=price, class="price_inputs" 

然後

$j(".price_inputs").keyup(function() 
    //Do calculations here 
}); 

或在我的情況下,我不得不多類,因爲我有小計,所以我在grandtotal計算

$j(".inclassA,.inclassB,.inclassC").keyup(function() //watches all the input classes 
    //Get the subtotals from the various input class(groups) and add them together here 
}); 

串類一起使用IDS只需更換。 with#ala CSS

也適用於NaN疑難解答。 10 + 10 = 1010,10 * 1 + 10 * 1 = 20,0 =零(南)0 * 1 = 0