Atualização de campo em paixfilho, baseado em outro campo do formulário

Pessoal, tenho um formulário em que preciso atualizar campos de um paixfilho. Porém ao implementar meu código sempre a única linha que a atualização dá certo e a primeira, as outras linhas não dão certo.

Ao modificar a data do campo data do depósito, através do cálculo contido na minha função, preciso que todos os campos da coluna 'dias' sejam atualizados. Porém somente só no da primeira linha isso acontece Screenshot_2.png


$("#datapg").change(function() {    
        var index =  $("input[id^='vencimento___'").attr('id').split('___')[1];

        DAY = 1000 * 60 * 60  * 24;

        data1 = $("#datapg").val();
        data2 = $("#vencimento___"+index).val();

        var nova1 = data1.toString().split('/');
        Nova1 = nova1[1]+"/"+nova1[0]+"/"+nova1[2];

        var nova2 = data2.toString().split('/');
        Nova2 = nova2[1]+"/"+nova2[0]+"/"+nova2[2];

        d1 = new Date(Nova1);
        d2 = new Date(Nova2);

        var days_passed = Math.round((d2.getTime() - d1.getTime()) / DAY);

        $("#dias___"+index).val(days_passed);

        //Calculo dos juros
        var valor = $("#valor___"+index).val();
        var taxa = $("#taxa").val();    
        var dias = $("#dias___"+index).val();

        var a =  parseFloat(1)+(parseFloat(taxa)/parseFloat(100));
        var b =  parseFloat(dias)/parseFloat(30); 
        var exp =  Math.pow(a, b);
        var total = (parseFloat(valor) * parseFloat(exp)) - parseFloat(valor);
        total = parseFloat(total.toFixed(2));

        $("#juros___"+index).val(total);
    });

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

Quemuel, boa tarde, não entendi muito bem como fez para buscar o índice do Pai x Filho, mas por precaução, percorre todos. Utilizando um FOR. Dessa forma, seu código deve funcionar:


$("#datapg").change(function() {    

        for(var i = 0 ; i < $('[name^="vencimento___"]').length; i++){

            index = ($('[name^="vencimento___"]')[i].name).substr($('[name^="vencimento___"]')[i].name.indexOf('___')+3);



            DAY = 1000 * 60 * 60  * 24;

            data1 = $("#datapg").val();
            data2 = $("#vencimento___"+index).val();

            var nova1 = data1.toString().split('/');
            Nova1 = nova1[1]+"/"+nova1[0]+"/"+nova1[2];

            var nova2 = data2.toString().split('/');
            Nova2 = nova2[1]+"/"+nova2[0]+"/"+nova2[2];

            d1 = new Date(Nova1);
            d2 = new Date(Nova2);

            var days_passed = Math.round((d2.getTime() - d1.getTime()) / DAY);

            $("#dias___"+index).val(days_passed);

            //Calculo dos juros
            var valor = $("#valor___"+index).val();
            var taxa = $("#taxa").val();    
            var dias = $("#dias___"+index).val();

            var a =  parseFloat(1)+(parseFloat(taxa)/parseFloat(100));
            var b =  parseFloat(dias)/parseFloat(30); 
            var exp =  Math.pow(a, b);
            var total = (parseFloat(valor) * parseFloat(exp)) - parseFloat(valor);
            total = parseFloat(total.toFixed(2));

            $("#juros___"+index).val(total);

        }


    });

Lembrando, se a resposta lhe for útil, peço que marque como correta. Para ajudar os outros coleguinhas! Kkkkkkkkkkk

Qualquer dúvida, sigo a disposição.

Obrigado @Alef, era isso mesmo. 100%