Função multiplicar em várias linhas
Boa tarde
Estou precisando que a mesma função funcione em várias linhas, porém só funciona na primeira linha, como o código abaixo mostra, a quantidade de linhas é dinâmicas, e o usuário vai alterar as informações linha após linha.
<tbody>
<?php foreach ($cotacoes_itens->findPorcotacao($id) as $key => $value) { ?>
<tr>
<td><?php echo $value->ci_id?></td>
<td><?php echo $value->ci_solicitacao?></td>
<td><?php echo $value->ci_produto?></td>
<td><?php echo $value->pro_nome?></td>
<td><?php echo number_format($value->ci_quantidadesol,2,',','.')?></td>
<td><input type="text" name="cfi_icms" id="cfi_icms" class="form-control" value="0"></td>
<td><input type="text" name="cfi_ipi" id="cfi_ipi" class="form-control" value="0"></td>
<td><input type="text" name="cfi_desconto" id="cfi_desconto" class="form-control" value="0"></td>
<td><input type="text" name="cfi_valorunit" id="cfi_valorunit" class="form-control" value="0"></td>
<td><input type="text" name="cfi_quantidade" id="cfi_quantidade" class="form-control" value="<?php echo number_format($value->ci_quantidadesol,2,',','.')?>" onblur="multiplica()"></td>
<td><input type="text" name="cfi_valortotal" id="cfi_valortotal" class="form-control"></td>
<td><input type="submit" value="ok" class="btn btn-success"></td>
</tr>
<?php } ?>
</tbody>
Abaixo a função multiplica() que só funciona na primeira linha.
<script>
function multiplica() {
var icms = document.getElementById("cfi_icms").value;
var ipi = parseFloat(document.getElementById("cfi_ipi").value).toFixed(2);
var desconto = parseFloat(document.getElementById("cfi_desconto").value).toFixed(2);
var valorunit = parseFloat(document.getElementById("cfi_valorunit").value).toFixed(2);
var quantidade = parseFloat(document.getElementById("cfi_quantidade").value).toFixed(2);
var x_desconto = (parseFloat(desconto/100) * parseFloat(valorunit)).toFixed(2);
var valorunit = (parseFloat(valorunit) - parseFloat(x_desconto)).toFixed(2);
var x_do_ipi_unit = (parseFloat(ipi/100) * parseFloat(valorunit)).toFixed(2);
var x = (parseFloat(x_do_ipi_unit) + parseFloat(valorunit)).toFixed(2);
var result = parseFloat(quantidade * x).toFixed(2);
document.getElementById("cfi_valortotal").value = result;
}
</script>
Eu até entendi porque só está funcionando na primeira linha a função, mas não estou conseguindo fazer funcionar em outras linhas.Discussão (1)
Carregando comentários...