0

我在表格中有以下表格行,我需要将其添加为总数。为此,我需要从金额中删除“$”和“,”。

    <tr>
    <td>football</td>
    <td class="price" style="text-align: right">$23,432.00</td>
    </tr>
    <tr>
    <td>baseball</td>
    <td class="prcice" style="text-align: right">$23,432.00</td>
    </tr>
     <div id="result"></div>

要添加的功能是

 function calculateSum() {
              var sumtotal = 0;
              $(".price").each(function () {

                  var value = $(this).text($(this).text().replace(/\$\$/g, '$',','));                
                 alert("value" + value);
                  if (!isNaN(value) && value.length != 0) {
                      sumtotal += parseFloat(value);
                  }
              });
              alert(sumtotal);
              $('#result').text(sumtotal);
          };

比在我的 document.ready() 中我使用它来调用。

 $(document).ready(function () { 
 $('.price').each(function () {
                  $(calculateSum);
              });
});

它给我 0 结果和值我得到警报值 [object Object] 请帮助,我怎样才能正确获得总数。谢谢

4

2 回答 2

1

您没有replace正确使用该方法,它应该只需要两个参数。第一个是要替换的正则表达式或字符串,第二个是新值。尝试这个:

var value = "$23,432.00"; // here you pick the value from your table cell
var floatValue = parseFloat(value.replace(/[\$,]/g, ''))
alert(floatValue)

另外,看看@charlietfl 的答案,他指出了您应该在代码中纠正的其他一些问题。

于 2013-10-27T22:17:12.537 回答
0

这里有各种各样的问题:

首先$(calculateSum);不是调用常规函数的方法。应该很简单calculateSum();

接下来在calculateSum()你循环每个$('.ethnTotal')但在$(document).ready你创建另一个循环$('.ethnTotal').each并尝试调用calculateSum()该循环的每个通道

这将成倍地膨胀你的计算!!

于 2013-10-27T22:21:12.463 回答