@evgen9586
Backend-dev. Лублу Enterprise и не люблю понты)

Как превратить ответ аякса в вёрстку?

Приходит мне ответ от аякса в виде массива.
5a8fd7058bdbd119673509.jpeg

Тут пытаюсь превратить в цикле в вёрстку.
success

success: function (resik) {
                    console.log(resik);
                    console.log(resik.length);
                    if (resik.length!==0)
                    {
                    for (var i = 0; i < resik.length; i++) {
                    	var resres = resik[i].time;

                            $(".panel").append('<div class="panel-heading">'+
                            '<h4 class="panel-title">'+
                           + '<a data-toggle="collapse" data-parent="#accordion-alt3" href="#collapse1-alt3">'+
                           + '<i class="fa fa-stack-exchange"></i>'+ v +
                            +'</a>'
                            +'</h4>'
                           + '</div>');

                    }
                    }
                    else
					{
                        $(".panel").append('<div class="panel-heading">'+
                            '<h4 class="panel-title">'+
                            + '<a data-toggle="collapse" data-parent="#accordion-alt3" href="#collapse1-alt3">'+
                            + '<i class="fa fa-stack-exchange"></i>'+ 'На данную дату талонов нет'+
                            +'</a>'
                            +'</h4>'
                            + '</div>');

					}
                },
                error:function () {
                    alert('Error');
                }



Блоки оно добавляет , правда каждый раз приплюсовывает, а хочу чтобы оно удаляло те, когда добавляло новые.

Но главная загвоздка в кракозябрах NaN
5a8fd8994c7a9313510584.jpeg
Откуда у них ноги растут?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
lidacriss
@lidacriss
wtf
попробуйте такой вариант
success: function (resik) {
            var time_list = [];
            var time_html = [];
            if (Array.isArray(resik)){
                resik.forEach(function(res){
                    time_list.push(res.time);
                });
            }
            if (!time_list.length)
                time_list.push('На данную дату талонов нет');
            time_list.forEach(function (time) {
                time_html.push('<div class="panel-heading"><h4 class="panel-title">' +
                    '<a data-toggle="collapse" data-parent="#accordion-alt3" href="#collapse1-alt3">' +
                    '<i class="fa fa-stack-exchange"></i>${time}</a></h4></div>');
            });
            $(".panel").html(time_html.join('\n'));
        },
        error: function () {
            alert('Error');
        }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
+ '<a data-toggle="collapse" data-parent="#accordion-alt3" href="#collapse1-alt3">'+
                            + '<i class="fa fa-stack-exchange"></i>'+ 'На данную дату талонов нет'+
                            +'</a>'


Тут у вас идут два плюса подряд (поэтому выводится NaN) - исправьте это.

Вместо ppend используйте html - тогда содержимое элемента будет переопределяться.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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