jrlsantana Postado Maio 10, 2022 Denunciar Share Postado Maio 10, 2022 Preciso fazer dois each para pegar os filhos do primeiro, tem dois objetos, mas ele só pega os itens do ultimo, alguém pode me ajudar? $('view').empty(); $(data).each(function (i, item) { $('#table').append( '<td> Mesa : ' + item.table + '</td>' ); $(item.itens).each(function (x, item2) { $('#item').append( '<div style="border-style:solid; border-block-color:gray; border-width:thin">' + '<ul id="itens">' + '<li>' + item2.amount + ': ' + item2.name + '</li>' + '</ul>' + '</div>' ); }); }); Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 lowys Postado Maio 10, 2022 Denunciar Share Postado Maio 10, 2022 Mostre-nos a estrutura do array: data Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jrlsantana Postado Maio 10, 2022 Autor Denunciar Share Postado Maio 10, 2022 [ { "orderId": 40, "table": 10, "status": false, "itens": [ { "id": 16, "product_id": 5, "order_id": 40, "name": "Cerveja Skol Lata 300 ml", "amount": 1 }, { "id": 17, "product_id": 8, "order_id": 40, "name": "Agua", "amount": 2 } ] }, { "orderId": 41, "table": 20, "status": false, "itens": [ { "id": 18, "product_id": 1, "order_id": 41, "name": "Pastel", "amount": 1 }, { "id": 19, "product_id": 3, "order_id": 41, "name": "X-Salada", "amount": 1 }, { "id": 20, "product_id": 4, "order_id": 41, "name": "Batata frita", "amount": 2 } ] } ] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wash Postado Maio 10, 2022 Denunciar Share Postado Maio 10, 2022 Olá! Considerando que #table seja uma tr (porque todos devem ficar dentro de trs) Segue sugestão: for (const item of data) { $('#table').append('<td> Mesa : ' + item.table + '</td>') for (const item2 of item.itens) { $('#item').append(` <div style="border-style:solid; border-block-color:gray; border-width:thin"> <ul id="itens"> <li>${item2.amount} : ${item2.name}</li> </ul> </div>`, ) } } Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wash Postado Maio 10, 2022 Denunciar Share Postado Maio 10, 2022 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 jrlsantana Postado Maio 11, 2022 Autor Denunciar Share Postado Maio 11, 2022 14 horas atrás, wash disse: O meu aqui também veio assim, os produtos são preenchidos apenas em uma mesa, enquato na 20 deveria vir algusn. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 wash Postado Maio 11, 2022 Denunciar Share Postado Maio 11, 2022 (editado) Certo... então o sr. precisa que os itens fiquem dentro da mesma célula? Lembre-se de que não conhecemos a sua estrutura html for (const item of data) { let itemsForThisTable = '' for (const item2 of item.itens) { itemsForThisTable += ` <div style="border-style:solid; border-block-color:gray; border-width:thin"> <ul id="itens"> <li>${item2.amount} : ${item2.name}</li> </ul> </div>` } $('#table').append('<td> Mesa : ' + item.table + itemsForThisTable + '</td>') } chutando que seria dentro da mesma célula: Editado Maio 11, 2022 por wash Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
jrlsantana
Preciso fazer dois each para pegar os filhos do primeiro, tem dois objetos, mas ele só pega os itens do ultimo,
alguém pode me ajudar?
$('view').empty();
$(data).each(function (i, item) {
$('#table').append(
'<td> Mesa : ' + item.table + '</td>'
);
$(item.itens).each(function (x, item2) {
$('#item').append(
'<div style="border-style:solid; border-block-color:gray; border-width:thin">' +
'<ul id="itens">' +
'<li>' + item2.amount + ': ' + item2.name + '</li>' +
'</ul>' +
'</div>'
);
});
});
Link para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.