Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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>você testou o codigo, porque comigo não funcionou, tenho que fazer alguma ligação com alguns arquivo js
o erro estava aqui a versao do jquery o meu tava
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js">
e mudei para
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
valeu
desculpe acabei esquecendo de dizer que faltou somar a coluna inteira pro falor total da tabela
somar todal vlrsub
e colocar o valor na total
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);
});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
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.
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));
});
});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));
});
});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" />
troque
por