Bom galera, eu estou com um código onde eu tenho um campo valor_parcela e 2 campos data (inicio_parcela e fim_parcela). O código automatiza o preenchimento de uma tabela colocando o valor da parcela mais a data de vencimento para cada parcela. Eu estou enfrentando um problema que creio que seja bobo, mas como estou iniciando ainda não estou tendo uma visão clara de como solucionar: Eu preciso que dado um exemplo de valor: 200, colocando o ultimo dia do mês de janeiro (31/01/2019) e o ultimo dia do mês de maio (31/05/2019) ele me mostre na saída para a tabela os meses (31/01/2019 - 28/02/2019 - 31/03/2019 - 30/04/2019 - 31/05/2019). segue código:
<script>
function GerarTabela() {
var valor = $("#txtParcela").val();
var data1 = $("#datepicker1").val();
var data2 = $("#datepicker2").val();
var tabela = $(".myBody");
tabela.empty();
var rs = "R$ ";
var valor_completo = `${rs} ${valor}`;
if (valor == null || valor == "") {
alert("Inserir valor da Parcela.");
} else if (data1 == null || data1 == "") {
alert("Inserir data primeiro dia.");
} else if (data2 == null || data2 == "") {
alert("Inserir data ultimo dia.");
} else {
var d1_array = data1.split("/");
var d2_array = data2.split("/");
var data_ini = new Date(d1_array[2], d1_array[1]-1, d1_array[0]);
var data_fim = new Date(d2_array[2], d2_array[1]-1, d2_array[0]);
while (data_ini <= data_fim) {
var dia = data_ini.getDate().toString();
var mes = (data_ini.getMonth() + 1).toString();
var data = (dia.length == 1 ? "0" + dia : dia) + "/" + (mes.length == 1 ? "0" + mes : mes) + "/" + data_ini.getFullYear();
tabela.append(`<tr><td>${data}</td><td>${valor_completo}</td></tr>`);
data_ini.setMonth(data_ini.getMonth() + 1);
}
}
}
</script>
<html>
Valor: <input type="text" id="txtParcela" value="200">
<br>
Data1: <input type="text" id="datepicker1" value="2019/04/17">
<br>
Data2: <input type="text" id="datepicker2" value="2019/06/17">
<br>
<button onClick="GerarTabela()">Gerar</button>
<br>
<table class="myBody"></table>
</html>