我有一个这样的表:
如何计算表格末尾总行的行(level1 + level2 ... level5)和行(level1 + next line level1 ...)?
对于总行数,我使用它:
function totalRow()
{
var total = 0;
$('#test').each(function(){
$('.input-md').each(function(){
if ($(this).val() != '') {
total += parseInt($(this).val());
}
});
});
$('#totalall').val(total);
}
答案 0 :(得分:0)
html id
在文档中必须是唯一的。类可以重复。
$('#test').each(function(){
没有意义,因为文档中只能有一个id #test。它没有遍历你的行。
答案 1 :(得分:0)
我认为关键是您忘了选择#primary
。
你可以写一下:
$('#test,#primary').each(function(){
$('.input-md').each(function(){
if ($(this).val() != '') {
total += parseInt($(this).val());
}
});
});
但是如果你只在这个表中使用类input-md
,那么你可以通过编写来简化它:
$('.input-md').each(function(){
if ($(this).val() != '') {
total += parseInt($(this).val());
}
});
答案 2 :(得分:0)
我解决了我的问题。对于计数行:
function totalRow()
{
var total = 0;
$('table .count-row td .cols, .total-row').each(function() {
if ($(this).prop('disabled')) {
$(this).val(total);
total = 0;
} else {
if ($(this).val() != '') {
total += parseInt($(this).val());
}
}
});
}
对于计数列:
function totalColumns()
{
var id = ["one", "two", "three", "four", "five"];
var totalCol = 0;
for (var i=0; i<=5; i++) {
$('.column-' + id[i]).each(function(){
if ($(this).val() != '') {
totalCol += parseInt($(this).val());
}
$('#count-' + id[i]).text(totalCol);
});
totalCol = 0;
}
}