Javascript Ajax只需要第一个TD来计算总和

Javascript Ajax只需要第一个TD来计算总和,javascript,ajax,Javascript,Ajax,我有一种情况,需要使用TD id=“amount”中的值计算总和,该值将重复/复制多次。Ajax只从第一个TD中获取值,其余的则被忽略 //ajax部分 函数CalculateMonthlySalary(){ var-tot=0; $(“#金额”)。每个(函数(){ tot+=parseInt($(this.text()); $(“#剥离预计每月收入”).html(添加逗号(tot.toFixed(0))) }); } 基本工资 2000 住房津贴 2000 车资 1000 月薪总额 0

我有一种情况,需要使用TD id=“amount”中的值计算总和,该值将重复/复制多次。Ajax只从第一个TD中获取值,其余的则被忽略

//ajax部分
函数CalculateMonthlySalary(){
var-tot=0;
$(“#金额”)。每个(函数(){
tot+=parseInt($(this.text());
$(“#剥离预计每月收入”).html(添加逗号(tot.toFixed(0)))
});
}

基本工资
2000
住房津贴
2000
车资
1000
月薪总额

0

知道我哪里做错了吗?

这样做是因为您使用的是ID,而不是类。ID仅用于一个元素。将其更改为类,然后循环每个类以使其工作。

id
在web文档中应该是唯一的。Javascript也假设了这一点,因此在找到与id匹配的元素后会忽略每个元素


您应该使用类名来选择td

只需在
td
标签中添加自定义属性
amount

<!-- Like this -->
<td amount ....>xxx</td>

id应该是唯一的,使用类请创建一个整洁的-代码段编辑器是完整的示例请注意您的代码不执行任何Ajax调用。您可能需要查看。如果有副本答案,请不要再次发布-1由于其他原因,我不能使用“类”。那么,解决这个问题的最佳方法是什么呢?为什么不能使用类呢?是什么阻止了它?谢谢,它起作用了。我知道这不是一个有效的*html“entrywho not class=“editable col amount”,为什么不将事件处理程序也添加到td中?
function CalculateMonthlySalary(){
    var tot=0;
    //"#amount" to "td[amount]"
    $("td[amount]").each(function() {   
        tot += parseInt($(this).text()); 
    $("#divEstimatedMonthlySalary").html(addCommas(tot.toFixed(0)))
    });
}