Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用jQuery对表列的值求和_Javascript_Jquery_Html_Datatable - Fatal编程技术网

Javascript 使用jQuery对表列的值求和

Javascript 使用jQuery对表列的值求和,javascript,jquery,html,datatable,Javascript,Jquery,Html,Datatable,我已经动态创建了一个表。页面加载时有一列为空,但当我选择下拉菜单的数量(其他列)和默认价格值(其他列)时,它会填充值。我想使用jQuery添加此流程创建的总值,并显示总值 有人知道我该怎么做吗?我试了很多,但都没有结果 我试试这个: $(document).each("[id^=total]", function(event){ var num = this.id.slice(5); var sum = 0; var value = $('#total'+num).text(

我已经动态创建了一个
。页面加载时有一列为空,但当我选择下拉菜单的数量(其他列)和默认价格值(其他列)时,它会填充值。我想使用jQuery添加此流程创建的总值,并显示总值

有人知道我该怎么做吗?我试了很多,但都没有结果

我试试这个:

$(document).each("[id^=total]", function(event){
  var num = this.id.slice(5);
  var sum = 0;

     var value = $('#total'+num).text();
     sum += parseFloat(this.value);

     $('#sum').text(sum);
 });
HTML(将在其中显示结果):

我的建议是避免使用id,而是使用类:

calc_total();

$(".choose").on('change', function(){
  var parent = $(this).closest('tr');
  var price  = parseFloat($('.price',parent).text());
  var choose = parseFloat($('.choose',parent).val());

  $('.total',parent).text(choose*price);

  calc_total();
});

function calc_total(){
  var sum = 0;
  $(".total").each(function(){
    sum += parseFloat($(this).text());
  });
  $('#sum').text(sum);
}
希望这有帮助

calc_total();
$(“.choose”).on('change',function(){
var parent=$(this).closest('tr');
var price=parseFloat($('.price',parent.text());
var choose=parseFloat($('.choose',parent.val());
$('.total',parent).text(选择*价格);
计算总数();
});
函数计算总计(){
var总和=0;
$(“.total”)。每个(函数(){
sum+=parseFloat($(this.text());
});
$('sum')。文本(sum);
}

1.
2.
3.
100
100
1.
2.
3.
100
100
1.
2.
3.
100
100
总数:
尝试以下方法:


jQuery中列的总和
$(文档).ready(函数(){
$('table thead th')。每个(函数(i){
计算柱(i);
});
});
函数计算列(索引){
var合计=0;
$('table tr')。每个(函数(){
var value=parseInt($('td',this.eq(index.text());
如果(!isNaN(值)){
总+=价值;
}
});
$('table tfoot td').eq(index).text('Total:'+Total);
}
项目1
项目2
项目3
1.
2.
3.
1.
2.
3.
1.
2.
3.
总数:
总数:
总数:

你能发布一些html示例吗。$(“#total”+num).val();试过了?是的,但还是一样。我更新了我的问题!谢谢,但还是没什么。看起来很简单,但我想不出来。我答案中的那个?请检查我的建议。谢谢你的答案!问题是结果就像一个字符串(例如0150230850)。不像150+230+850=1230。有什么想法吗?
<tr>
    <td><center><selectclass='choose'id='qua2'></select></center></td>
    <td><center><spanid='yprice2'>101.10</span></center></td>
    <td><center><spanid='total2'></span></center></td>
</tr>
$(document).on('change', "[id^=qua]", function(event){
var num = this.id.slice(3);
var sum = 0;
var value = $("#qua"+num).val();
var yprc = $("#yprice"+num).text();
var amount = value * yprc;
amount = amount.toFixed(2);

var $sum = $("#sum");
var $total = $("#total"+num);

    $total.html(amount);

 $("[id^=total]").each(function(){
 sum += parseFloat($(this).text());
 });
 $sum.text(sum);
});
calc_total();

$(".choose").on('change', function(){
  var parent = $(this).closest('tr');
  var price  = parseFloat($('.price',parent).text());
  var choose = parseFloat($('.choose',parent).val());

  $('.total',parent).text(choose*price);

  calc_total();
});

function calc_total(){
  var sum = 0;
  $(".total").each(function(){
    sum += parseFloat($(this).text());
  });
  $('#sum').text(sum);
}