Javascript 韩元';t sum表列jQuery

Javascript 韩元';t sum表列jQuery,javascript,jquery,html-table,sum,Javascript,Jquery,Html Table,Sum,我有一个动态创建的表,需要对表的第二列求和。我总是得到0作为总数。 我做错什么了吗 这是在创建表后单击“求和”按钮时调用的函数 function bukkake(){ var sum = 0; $('.teedee td').eq(1).each(function(){ sum += $(this).val(); }); $('#sum_result').append("The sum is: " + sum) } 这是创建表的代码部分:

我有一个动态创建的表,需要对表的第二列求和。我总是得到0作为总数。 我做错什么了吗

这是在创建表后单击“求和”按钮时调用的函数

 function bukkake(){



    var sum = 0;
    $('.teedee td').eq(1).each(function(){
    sum += $(this).val();
    });
    $('#sum_result').append("The sum is: " + sum)



 }
这是创建表的代码部分:

$.getJSON("nutritional_value.php?value=" + encodeURI(value), function (data) {
var ttr = $("<tr />");   
$.each(data, function(k, v){
var store_1 = v * (parseFloat(uneseno, 10) / 100);
var xstore_1 = store_1.toFixed(2);

$("<td class='teedee'></td>").text(k=='name' ? v : xstore_1).appendTo(ttr);



 });

 $("#tejbl").append(ttr);
 }); 
$.getJSON(“nutrition_value.php?value=“+encodeURI(值)、函数(数据){
var ttr=$(“”);
$。每个(数据、函数(k、v){
var store_1=v*(parseFloat(uneseno,10)/100);
var xstore_1=存储区_1.toFixed(2);
$(“”).text(k=='name'?v:xstore_1).appendTo(ttr);
});
$(“#tejbl”)。追加(ttr);
}); 

首先,您使用了错误的选择器

  $('.teedee td').eq(1).each(function(){ // You are trying to select
                                         // a td inside a class
应该是

$('td.teedee').eq(1).each(function(){  // But td is the one with the class

$('td.teedee').eq(1) // Targets only 1 element with index 1
td
没有名为
.val()

如果要将文本作为目标,请使用
.text()

第三

$('td.teedee').eq(1) // Targets only 1 element with index 1
第四

使用
parseInt
将其转换为数字

sum += parseInt($(this).text(), 10);
否则,从技术上讲,您将改为附加字符串。所以首先把它转换成一个数字,然后再加上

编辑.. 首先分析文本,检查它是否不是数字

var sum = 0;
$('tr').each(function() {
    $('td.teedee', this).eq(1).each(function () {
       var value = parseInt($(this).text(), 10);

       sum += isNaN(value) ? 0 : value;
    });
 });
$('#sum_result').append("The sum is: " + sum)

谢谢,我现在学到了一些东西,但是现在我得到了NaN作为结果text()解决了这个问题,但是现在它只显示第一行的值。如果我添加更多行,它只显示第一行的第二列的值,而不是所有行的第二列的值rows@Filkatron.. 您正在尝试获取与其他
td
相关的
td的索引。因此,这将是唯一一个返回。。因此,您需要在每行中检查它。。检查已编辑的code@Filkatron.. 很高兴能帮忙:)