Как сгенерировать элемент HTML для каждого значения массива с помощью JQuery? - PullRequest
1 голос
/ 04 апреля 2019

Вот мой HTML-элемент:

        <li class="comment author-comment">

                <div class="info">
                    <a href="#">Jack Smith</a>
                    <span>3 hours ago</span>
                </div>

                <a class="avatar" href="#">
                    <img src="{{ 
            asset('commentui/images/avatar_author.jpg') }}" width="35" 
             alt="Profile Avatar" title="Jack Smith" />
                </a>

                <p>Value is here</p>

      </li>

Вот мой JQuery-код:

   $.get('{{ URL::to('comment/retrive') }}',function(data){
    console.log(data);
      $.each(data, function(key, value){
      $('.comment p').html(value.comment);
    });
   });

Мне нужно сгенерировать HTML-элемент с каждым значением данных или value.comment,Так что он создает список значений, но теперь я получаю только первое значение.Пожалуйста, помогите.

Данные извлекают объект как изображение здесь, и мне нужно напечатать комментарий только в списке: enter image description here

Ответы [ 3 ]

3 голосов
/ 04 апреля 2019

Заменить

$('.comment p').html(value.comment);

К

$('.comment p').append(value.comment);

Потому что при .html каждый цикл отменяет предыдущий.

Но Добавление добавит ваше значение после предыдущего.

2 голосов
/ 04 апреля 2019

Вы должны создать новый элемент для каждой строки, а не просто обновить текстовое значение вашего отдельного элемента:

var rp=$('.comment p');
$.each(data, function(key, value){
  var p = $('<p>');
  rp.append(p);
  p.text(value.comment);
});
1 голос
/ 04 апреля 2019

Попробуйте добавить данные вместо их замены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...