Bom dia Pessoal, preciso fazer um calculo somando campos da tabela paixfilho, porém com algumas condições, durante o preenchimento.
Se o valor for pago , a soma deve ser realizada no campo TOTAL DINHEIRO, se for cartão, TOTAL OUTRAS MOEDAS.
Tentei fazer isso pelo evento on.blur, ou através de um botão, porém sem sucesso, vou deixar o código utilizando on.blur pra ver se voces me dão uma luz.
HTML:
Add
function init() {
$("input[id^='valor_']:last").blur(doFormTotal);
}
function doFormTotal() {
var totalr = 0;
var totald = 0;
var index = this.id.substring(this.id.indexOf('') + 3);
var moeda = $("#moeda" + index).val();
if (moeda == "real") {
$("input[id^='valor']").each(function() {
if ($(this).val()) {
totalr += parseInt($(this).val());
}
});
$("#totaldin").val(totalr); }
if (moeda == "dolar" || moeda == "euro") {
$("input[id^='valor']").each(function() {
if ($(this).val()) {
totald += parseInt($(this).val());
}
});
$("#totalMoed").val(totald); }
}
function fnCustomDelete(oElement){
fnWdkRemoveChild(oElement);
doFormTotal();
}
Acredito que com um botão seria mais facil, mas nao sei como percorrer todas as linhas e fazer a verificação.
Obrigada!
Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.
Boa tarde Danielle, tens como anexar o arquivo js na pergunta, porque ele não mostra os underscore dos indices do pai e filho quando o código fica direto na pergunta.
Boa tarde Diogo, adicionei meu arquivo.
Danielle,
acho que seria algo assim para pagamento em real e outras moedas, sobre o cartão não entendi como ficaria a diferença entre pagar com cartão em euro, dolar ou real:
function doFormTotal() {
var totalr = 0;
var totald = 0;
$("input[id^='valor']").each(function() {
if ($(this).val()) {
var index = $(this).prop('id').replace('valor___', '');
var moeda = $("#moeda___" + index).val();
if (moeda == "real") {
totalr += parseInt($(this).val());
} else if (moeda == "dolar" || moeda == "euro") {
totald += parseInt($(this).val());
}
}
});
$("#totaldin").val(totalr);
$("#totalMoed").val(totald);
}
Bom dia Diogo, quando fazemos uma viagem corporativa, muitas vezes usamos cartões corporativos, caso o pagamento seja feito via cartão, as cobranças vem na moeda original, e os recibos ou comprovantes também, por isso a necessidade de verificar também se o pagamento é feito no dinheiro ou cartão, e qual moeda foi utilizada.
Como existem mtas opçoes em relação a moeda que pode ser utilizada Diogo, vou somar apenas valores em reais, e dividi-los em dinheiro ou cartão…
Funcionou certinho,muito obrigada!
Diogo, me surgiu mais uma duvida, aqui estamos somando números inteiros, como faço para somar os decimais?