Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FamiluMoura

Tabela dinamica somando seus valores

Recommended Posts

Tenho esse formulário dinamico porem a primeira linha ele mutiplica qtde por vlrunt, porem qdo eu add a segunda linha o java nao funciona como fazer para funcionar

sendo que ainda tem que somar tudas as linhas no total

<script type="text/javascript">
$(function () {
  function removeCampo() {
$(".removerCampo").unbind("click");
$(".removerCampo").bind("click", function () {
  if($("tr.linhas").length > 1){
$(this).parent().parent().remove();
  }
});
  } 
  $(".adicionarCampo").click(function () {
novoCampo = $("tr.linhas:first").clone();
novoCampo.find("input").val("");
novoCampo.insertAfter("tr.linhas:last");
removeCampo();
  });
  $("vlrunt").keyup(function(){
    
    var qtde  = $("#qtde").val();
    var vlrunt= $("#vlrunt").val();
    
    $("#vlrsub").val(parseFloat(vlrunt) * parseFloat(qtde)); 
  });
});
</script>
  

 

 

 

 

 

 

 

<form method="post" name="formoferta" action="envia1.php">
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" id="formoferta2">
     <tr>
         <th>Und</th>
            <th>Descrição</th>
            <th>Imagem<br>Produto</th>
            <th>Classificação<br>Fiscal</th>
            <th>Qtde</th>
            <th>Vlr. Unitario</th>
            <th>Vlr. Subtotal</th>
            <th colspan="2">Prazo de<br>Entrega</th>
        </tr>
   <tbody>
        <tr class="linhas">
            <td><input type="text" name="und[]" id="und" style="text-align:center" /></td>
            <td><textarea name="desc[]" id="desc" cols="25" rows="5"> </textarea></td>
            <td><textarea name="img[]" id="img" cols="20" rows="5"> </textarea></td>
            <td><input type="text" name="clfiscal[]" id="clfiscal"  style="text-align:center" /></td>
            <td class="class_unit"><input type="text" name="qtde[]" id="qtde"  style="text-align:center" /></td>
            <td class="class_quant"><input type="text" name="vlrunt[]" id="vlrunt" style="text-align:center" /></td>
            <td class="class_total"><input type="text" name="vlrsub[]" id="vlrsub" style="text-align:center" /></td>
            <td><input type="text" name="prazo[]" id="prazo" style="text-align:center" /></td>
            <td><a href="#" class="removerCampo" title="Remover linha"><img src="_admin/_imagens/excluir.gif" border="0" id="excluir" /></a></td>
   </tr>        
        <tbody>
   <tr>
<td colspan="9">
     <strong>TOTAL:</strong></td>
   </tr>
        <tr>
<td colspan="9">
     <a href="#" class="adicionarCampo" title="Adicionar item"><img src="_admin/_imagens/inserir.gif" border="0" / id="inserir"></a></td>
   </tr>
        <tr>
   <td align="right" colspan="9"><input type="submit" id="btn-cadastrar" value="ENVIAR OFERTA" /></td>
   </tr>   
</table>
</form> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

troque

$("vlrunt").keyup(function(){
  var qtde  = $("#qtde").val();
  var vlrunt= $("#vlrunt").val();
  $("#vlrsub").val(parseFloat(vlrunt) * parseFloat(qtde));
});

por

$(document).on('keyup', 'input[name="vlrunt[]"]', function(){
    var tr = $(this).closest('tr');
    var qtde  = tr.find('input[name="qtde[]"]').val();
    var vlrunt = $(this).val();
    if (qtde && vlrunt){
        tr.find('input[name="vlrsub[]"]').val(parseFloat(vlrunt) * parseFloat(qtde));
    }
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

troca:

<td colspan="9">
     <strong>TOTAL:</strong></td>
   </tr>
por

<td colspan="9">
     <td><strong>TOTAL:</strong> <span id="total"></span></td>
   </tr>
e ai, adicione o seguinte código:

var $total = $('#total');
$(document).on('keyup', 'input[name="vlrunt[]"]', function(){
    var sum = 0;
    $('input[name="vlrunt[]"]').each(function() {
        sum += $(this).val();
    });
    $total.html(sum);
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

que versao do jquery você usou a minha pra funcionar o codigo 1.11.0, e se caso você testou o codigo manda pra mim o link

 

e o outra o valor da qdte * vlrunt = vlrsub

 

e depois a somar todas a vlrsub

 

pra sair no total

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não testei amigo. Eu só fiz o script aqui com base no que vi.

Não criei um arquivo de teste.

 

O que aconteceu de errado ai ?

Aperte Ctrl + Shift + J e diga o que aparece ai.

Compartilhar este post


Link para o post
Compartilhar em outros sites
ess ecodigo ele faz o que eu quero porem so pega o valor da primeira linha e nao acrescenta o da segunda


$(document).ready(function() {

$('input[name="vlrsub[]"]').keyup(function(){

var total = 0;

$('.soma').each(function(i){

var valor = Number($(this).val());

if (!isNaN(valor)) total += valor;

});

$("#total").html(total.toFixed(2));

});

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

conseguiu fazer funcionar porem eu vi que nao consigo enviar o valor para um input no caso estou enviando para span com id=total

$(document).ready(function() {
    $('.calcular').click(function(){
    var total = 0;
$('.soma').each(function(i){
      var valor = Number($(this).val());
if (!isNaN(valor)) total += valor;
    });
    $('#total').html(total.toFixed(2));
  });
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para enviar para um input, basta trocar:

 

$('#total').html(total.toFixed(2));
para

$('input[name="total"]').val(total.toFixed(2));
sendo o html:

<input type="text" name="total" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.