LOOP EM UM DATATABLE JAVASCRIPT
Boa tarde a todos.
Estou apanhando para fazer um Loop do dataTable já preenchido.
Nesse código é a declaração do dataTable.
oTableConciliados = $([Ô]#tableLancamentosConciliados[Ô]).dataTable(
{
[Ô]sDom[Ô]: [Ô]<[ô]row[ô]<[ô]col-sm-6[ô]><[ô]col-sm-6[ô]>><[ô]table-responsive[ô]rt><[ô]rowFooter[ô]<[ô]col-sm-6[ô]i><[ô]col-sm-6[ô]p>>[Ô],
[Ô]oTableTools[Ô]: { [Ô]sSwfPath[Ô]: base_url + [Ô]/Content/default/plugins/datatables/tabletools/swf/copy_csv_xls_pdf.swf[Ô] },
[Ô]oLanguage[Ô]: { [Ô]sUrl[Ô]: base_url + [Ô]/Content/default/plugins/datatables/tabletools/language/datatables.pt_BR.txt[Ô] },
[Ô]aoColumnDefs[Ô]: [{ [Ô]sClass[Ô]: [Ô]text-center[Ô], [Ô]aTargets[Ô]: [0, 1, 2, 3, 4, 5, 6] }],
[Ô]iDisplayLength[Ô]: 40,
});
Aqui é onde eu preenchido o dataTable através desse array conciliados.
if (conciliados.details.length > 0) {
var textType = [Ô]text-default[Ô];
oTableConciliados.fnDraw();
oTableConciliados.fnAddData([
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].dataLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].descLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].valorLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].conciliados + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].dataExtrato + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].descExtrato + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].valorExtrato + [ô]</a></td>[ô],
]);
oTableConciliados.fnDraw();
}
O array conciliados recebe dados de outros dois grids assim: primeiro clico em algum registro do grid 1 e depois clico em algum registro do grid 2 e com isso na dataTable #tableLancamentosConciliados vai add um registro com as informações dos 2 grid.
Blz. A grid é montada na tela com seu dados.
Agora o que preciso é quando clicar no button Conciliar Lançamentos executar um Loop na grid #tableLancamentosConciliados, pegar seus valores e gravar no BD e é isso que não estou conseguindo.
Estou apanhando para fazer um Loop do dataTable já preenchido.
Nesse código é a declaração do dataTable.
oTableConciliados = $([Ô]#tableLancamentosConciliados[Ô]).dataTable(
{
[Ô]sDom[Ô]: [Ô]<[ô]row[ô]<[ô]col-sm-6[ô]><[ô]col-sm-6[ô]>><[ô]table-responsive[ô]rt><[ô]rowFooter[ô]<[ô]col-sm-6[ô]i><[ô]col-sm-6[ô]p>>[Ô],
[Ô]oTableTools[Ô]: { [Ô]sSwfPath[Ô]: base_url + [Ô]/Content/default/plugins/datatables/tabletools/swf/copy_csv_xls_pdf.swf[Ô] },
[Ô]oLanguage[Ô]: { [Ô]sUrl[Ô]: base_url + [Ô]/Content/default/plugins/datatables/tabletools/language/datatables.pt_BR.txt[Ô] },
[Ô]aoColumnDefs[Ô]: [{ [Ô]sClass[Ô]: [Ô]text-center[Ô], [Ô]aTargets[Ô]: [0, 1, 2, 3, 4, 5, 6] }],
[Ô]iDisplayLength[Ô]: 40,
});
Aqui é onde eu preenchido o dataTable através desse array conciliados.
if (conciliados.details.length > 0) {
var textType = [Ô]text-default[Ô];
oTableConciliados.fnDraw();
oTableConciliados.fnAddData([
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].dataLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].descLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].valorLancamento + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].conciliados + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].dataExtrato + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].descExtrato + [ô]</a></td>[ô],
[ô]<td class=[Ô]text-center[Ô]><a href=[Ô]javascript:void(0);[Ô] class=[Ô][ô] + textType + [ô][Ô]>[ô] + conciliados.details[0].valorExtrato + [ô]</a></td>[ô],
]);
oTableConciliados.fnDraw();
}
O array conciliados recebe dados de outros dois grids assim: primeiro clico em algum registro do grid 1 e depois clico em algum registro do grid 2 e com isso na dataTable #tableLancamentosConciliados vai add um registro com as informações dos 2 grid.
Blz. A grid é montada na tela com seu dados.
Agora o que preciso é quando clicar no button Conciliar Lançamentos executar um Loop na grid #tableLancamentosConciliados, pegar seus valores e gravar no BD e é isso que não estou conseguindo.
Você parece estar utilizando o DataTables. Apesar de estar usando da maneira mais difÃcil possÃvel, mas tudo bem. No final das contas é uma tabela normal, portanto você pode fazer um loop normal hierarquicamente usando o seletor [Ô]>[Ô] do JQuery, mais ou menos assim:
Fiz um fiddle pra você ter uma idéia.
$([ô]#tableLancamentosConciliados> tbody > tr[ô]).each(function() { .....seu código.... });
Fiz um fiddle pra você ter uma idéia.
Citação:$([ô]#tableLancamentosConciliados> tbody > tr[ô]).each(function() { .....seu código.... });
Estava fazendo desse jeito mas sem informar > tdody >tr.
$([ô]#tableLancamentosConciliados[ô]).each(function() { .....seu código.... });
Agora deu certo.
$([ô]#tableLancamentosConciliados> tbody > tr[ô]).each(function() { .....seu código.... });
Tópico encerrado , respostas não são mais permitidas