3
respostas

Jquery: Adicionar classe a objetos adicionados dinamicamente

Tenho uma tabela que adiciona linhas dinamicamente, porém, preciso somar os valores das linhas e a quantidade preenchida. Ou seja:

  • Preciso ter uma linha extra que some os valores de PREÇO
  • Há 5 tipos de MODELO e existe a opção em Branco, preciso de um campo que tenha a soma deles. ex: 4 samsung, 2 Philips, "Em branco"...

Sei que posso pegar todas as classes e somar o Val() delas, depois fazer a separação das respostas. Mas não tenho conseguido criar as TD com as classes automaticamente.

Se alguém souber uma forma mais fácil também, também vou agradecer.

----Segue o código:----

(function($) {          AddTableRow = function() {    

var tipo = $("#tipo").find(":selected").val();
var qnt = $("#qnt").find(":selected").val();
var ano = $("#ano").find(":selected").val();
var marca = $("#marca").find(":selected").val();
var modelo = $("#modelo").find(":selected").val();
var voltagem = $("#voltagem").find(":selected").val();
var preco = $("#preco").find(":selected").val();

    var newRow = $("<tr>");         var cols = "";        
    cols += '<td>'+tipo+'</td>';            
    cols += '<td>'+qnt+'</td>';            
    cols += '<td>'+ano+'</td>';            
    cols += '<td>'+voltagem+'</td>';            
    cols += '<td>'+marca+'</td>';            
    cols += '<td>'+modelo+'</td>';        
    cols += '<td>'+preco+'</td>';            


    cols += '<td>';            
    cols += '<button onclick="remove(this)" type="button">Remover</button>';            
    cols += '</td>';        
    newRow.append(cols);            
    $("#details-table").append(newRow);        
    return false;    

};        })(jQuery);
3 respostas

Oi William tudo bem?

A maneira mais fácil é marcando as células com classes exemplo

e depois fazer uma função que selecione essa classe e some todo o conteúdo dela.

Espero ter ajudado!!!

Não entendi direito...

Devo criar a tabela no HTML com TR e TD já com classes, mas sem conteúdos?

As linhas adicionadas dinamicamente iriam ter as mesmas classes?

Eu imaginei assim pra linha do valor:

<td class="philips">50</td>

Ai você usa philips=document.getElementsByClassName("philips")

E depois iterava esse array somando todos valores