我有一個ID爲「#stock-hotdogs」的表格,最後一列始終是類「.subtotal」。小計總是使用這種格式:$ 99.00。所以我需要知道的是如何獲得所有這些td的數字,將它們求和並將它們存儲在一個變量中。應該走什麼路?如何使用jQuery獲取,解析和總結表的所有tds'?
回答
你可以這樣做:
var cents_total = 0;
$('#stock-hotdogs .subtotal').each(function() {
var value = $.trim($(this).text());
var parts = value.substr(1).split('.');
cents_total += +parts[0] * 100 + (+parts[1] || 0);
});
這裏我不使用parseFloat
,因爲不應該使用浮點值進行財務計算(舍入誤差)。應該是微不足道的百分之值轉換成美元:)
var inputs = $('td.subtotal', '#stock-hotdogs').find('input');
var total = 0;
$(inputs).each(function() {
total += parseFloat($(this).val().replace(/[^\d\.]+/g, ''));
});
Here是現場工作示例或
未使用的輸入元素的第二個版本......
$('#totalbtn').click(function() {
var total = 0;
$('td.subtotal', '#stock-hotdogs').each(function() {
total += parseFloat($(this).text().replace(/[^\d\.]+/g, ''));
});
});
HERE是這樣的一個例子...
-1:'VAL()'只能在表單字段工作,'parseInt'將返回'NaN'開始用'$'文本。即使它起作用,你也會放棄這些美分。 *編輯:*我明白了,你認爲會有輸入字段...... OP並沒有說這個。 –
由於您的代碼符合您的假設,因此我撤回-1。 –
@Felix King,我明白你在說什麼,我添加了一個正則表達式來解決這個問題。 – Gabe
var subTotals = $('#stock-hotdogs td.subtotal');
var sum = 0;
subTotals.each(function() {
sum += parseFloat($(this).text().substr(1));
});
alert(sum);
td.subtotal實際上也是用jQuery生成的,具體取決於你想要的每種「熱狗」種類。我怎樣才能使用它,所以每次我改變class .qty輸入中的內容時,總和已更新並顯示在#show-total中? –
我實際上是這樣使用它http://pastie.org/2352865,但結果是「NaN」。當我調試它時,它似乎獲得了第一個值,但隨後它變成了Nan –
用途:
var total=0;
$('#stock-hotdogs .subtotal').text(function(i,v){
total+=parseFloat(v.substr(1));
});
alert('total: $'+total.toFixed(2));
看看在JQuery Calculation插件:它可以讓你指定哪些領域總結使用jQuery選擇器。使用它,你會做這樣的事情:
$("#stock-hotdogs").find("td.subtotal").sum();
- 1. 使用jquery獲取tds的值
- 2. 如何在Ruby中解析XML標記時獲取所有內容的總和?
- 3. 使用jQuery獲取所有輸入值的總和
- 4. 如何使用jQuery獲取可見的tds
- 5. 如何使用Scala獲取json中所有元素的總和?
- 6. 如何使用jQuery獲取所有ID?
- 7. 如何使用PHP獲取SQL表中所有整數的總和?
- 8. 如何使用jQuery解析Json結果
- 9. 解析獲取解析用戶中的所有列
- 10. 如何使用$(this)獲取jquery列表中的所有項目?
- 11. 如何使用jquery獲取div內的所有表ID¶
- 12. 如何總結的所有列和所有空獲得與使用了SQL顯示爲一個(NA)取代
- 13. 解析Scheme中的列表並獲得所有數字的總和
- 14. 如何使用jquery解析解析反斜槓json結構?
- 15. 如何總結所有表中字段
- 16. 獲取每行所有行的總和
- 17. 獲取mysql中所有值的總和
- 18. 獲取所有行的總和
- 19. 如何在jQuery中獲得具有某個類的所有錶行的總和?
- 20. 從PHP獲取結果作爲JSON並使用jQuery解析它
- 21. 解析.doc&.docx以獲取使用golang的所有文本?
- 22. 使用html dom解析器獲取區域的所有標題
- 23. 解析HTML並獲取所有節點
- 24. 解析所有結果simple_html_dom
- 25. 使用解析獲取所有用戶數據
- 26. 如何使用jquery和ajax讀取,解析和顯示xml
- 27. 從TDS LDAP獲取所有用戶,包括圖像
- 28. 如何獲取配置單元中的所有列的總和
- 29. 如何將CSS添加到jQuery中特定tr的所有tds?
- 30. 使用backbone.js獲取集合(所有模型)的總和
+1這一個實際上會工作,因爲它處理前導'$',但爲什麼'.split()'而不是使用'parseFloat()'? – user113716
@patrickdw:由於浮點運算中的舍入誤差。至少這是我在這裏學到的:不要使用浮點值來賺錢;) –
哦,有問題。你以美分結果。好主意。 – user113716