2014-03-26 1 views
0

У меня есть таблица вроде этого: enter image description hereграф перевалов, строки в таблице Jquery

Как я могу вычислить линии (level1 + level2 ... Level5) и строки (level1 + следующая строка level1 ...) для общего строка в конце таблицы?

Для полных строк я использую это:

function totalRow() 
{ 
    var total = 0; 
    $('#test').each(function(){ 
     $('.input-md').each(function(){ 
      if ($(this).val() != '') { 
       total += parseInt($(this).val()); 
      } 
     }); 
    }); 
    $('#totalall').val(total); 
} 
+0

Как я вижу, что ваш код может обрабатывать все, что под сомнение. Тебе понадобится также кол-во? Из первоначального вопроса не ясно. – gramgram

+0

Ваш вопрос довольно запутанный ... строка - это строка. Наверное, вы имели в виду столбцы и строки. – vcarel

ответ

0

HTML id s должно быть уникальным в документе. Классы могут дублироваться.

$('#test').each(function(){ не имеет смысла, потому что в документе может быть только один идентификатор #test. Он не перебирает ваши строки.

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()); 
    } 
}); 
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; 
    } 
} 
Смежные вопросы