Jump to content
Fórum Script Brasil
  • 0

each em em objeto com titulo e itens


jrlsantana
 Share

Question

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 to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0

[
    {
        "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
            }
        ]
    }
]

Link to comment
Share on other sites

  • 0

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>`,
    )
  }
}

 

Link to comment
Share on other sites

  • 0

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:

Screenshot_1.jpg

Edited by wash
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.7k
    • Total Posts
      648.4k
×
×
  • Create New...