Можно ли выгружать Json в несколько разных блоков?

Всем доброе утро.
столкнулся с проблемой и не знаю как ее решить, поэтому прошу помощи у вас.
есть некий Json файлик, который я вывожу вот таким вот образом.
var out = '';
    for (var key in data) {
        out += '<div class="goods">';

        out += `<img class="goods_img" src="${data[key].image}">`;
     
        out += `<p class="show_goods-category">${data[key].category}</p>`;
        out += '</div>';
    }
    $('#goods').html(out);    //вывод  информации в ('#goods')

на выходе получается вот такая картина.

<div id="goods">
'<div class="goods">

<img class="goods_img" src="images/apple.png">
<p class="goods-category">Акция</p>

</div>

'<div class="goods">

<img class="goods_img" src="images/tomato.png">
<p class="goods-category">в наличии</p>

</div>

'<div class="goods">

<img class="goods_img" src="images/strawberry.png">
<p class="goods-category">под заказ</p>

</div>
</div>


и все выгружается в один блок ('#goods'). но это не совсем то что нужно

можно ли сделать что бы
все блоки у которых $('.goods-category') == "Акция" выгружались в контейнер с классом $('.stock-goods');
все блоки у которых $('.goods-category') == "в наличии" выгружались в контейнер с классом $('.in-stock-goods');
все блоки у которых $('.goods-category') == "под заказ" выгружались в контейнер с классом $('.order-goods');

буду очень благодарен за помощь.
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 1
@PushMeNow
.NET Developer
попробуйте switch'ом проверять data[key].category и в ну жном блоке производить манипуляции DOM. выглядит это примерно так:
switch(data[key].category)
    {
        case 'Акции':
            $(out).appendTo('.stock-goods');
            break;
        case 'в наличии':
            $(out).appendTo('.in-stock-goods');
            break;
        case 'под заказ':
            $(out).appendTo('.order-goods');
            break;
    }

только переменную out обнуляйте на каждой итерации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы