#javascript #php #jquery #ajax
#javascript #php #jquery #ajax
Вопрос:
Вот мой 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-элемент с каждым значением data или value.comment. Таким образом, он создает список значений, но теперь я получаю только первое значение.
Пожалуйста, помогите.
Данные восстанавливают объект в виде изображения здесь, и мне нужно напечатать комментарий только в list :
Комментарии:
1. Может быть, вы хотите использовать другой селектор в вашей
each
функции? Он перезапишет все предыдущие входные данные в каждом цикле
Ответ №1:
Заменить
$('.comment p').html(value.comment);
Автор:
$('.comment p').append(value.comment);
Потому что с .html каждый цикл будет переопределять предыдущий.
Но Append добавит ваше значение после предыдущего.
Ответ №2:
Вы должны создавать новый элемент для каждой строки, а не просто обновлять текстовое значение одного элемента :
var rp=$('.comment p');
$.each(data, function(key, value){
var p = $('<p>');
rp.append(p);
p.text(value.comment);
});
Ответ №3:
Попробуйте добавить данные вместо их замены.