Loading...
massbless avatar massbless 5 Точки

AJAX queries - проблем с натрупване на данни

Здравейте,

Продължавам да се мъча с Book Library заданието, по-специално частта за добавяне на коментари :)
След дълго ровене из интернет успях да докарам частта с коментарите в DOM дървото до следното:
 

if (book.comments == null) {
    booksTable.append($('<tr>').append($('<td class="noReview" colspan="3">').text("No reader reviews.")));
} else {
    booksTable.append($('<tr>').append($('<td class="review" colspan="3">')));
    for (let comment of book.comments) {
        booksTable.find('td.review').append(
            $('<div>').text(comment.commentText),
            $('<div>').text(comment.author)
        );
    }
}

Идеята ми е да добавя поле за коментари дори там, където такива няма (за да може после там да пъхна формата "Add new comment" - звучи логично навсякъде да могат да се добавят коментари, а не само там, където вече има такива). Ако към настоящия момент няма коментари в <td> елемента се изписва "No reader reviews", а ако такива съществуват - вътре започват да се наливат <div>-ове за тях. Тук обаче попаднах на сериозен проблем - коментарите се натрупват когато цикълът върти през книгите. Само последната книга се показва със собствените си коментари, всички останали книги показват собствените си коментари + тези на книгите преди тях.

Не ми е известно как да задам на javascript-а да зачиства старите стойности при всяко завъртане на цикъла. Някой може ли да ми даде синтакс за това - ще съм му безкрайно благодарен!

Jinjaar avatar Jinjaar 348 Точки

Здравей!

Така написано :

$('<div>').text(comment.commentText),
$('<div>').text(comment.author)

Селектираш всеки div element-и  който имаш в DOM и му добавяш commentText и author, затова се поучава така. Трябва всяка книга да си знае коментарите.Можеш да вземеш на всяка книга id -то и да го запишеш в data-id атрибут .Така може да добавиш коментара на точно тази книга според това какво е Id-то на книгата и какво е bookId на коментара.

Надявам се да си схванал идеята.Така без целия код немога да ти дам точен пример, ако не можеш да се справиш сам качи някаде кода  и ще ти дам точен пример.

Поздрави!

 

0
massbless avatar massbless 5 Точки

Благодаря ти за отговора и извинявай, че пиша чак сега - през последните 2 дни почти не съм имал възможност да ползвам интернет.

Пълният JS код е тук: http://pastebin.com/0k77HDs8

С удоволсвтие бих се поровил как да използвam _id параметъра, но вече адски много изоставам (тепърва имам да гледам лекциите от тази седмица за PHP!) и ще съм много благодарен, ако можеш да ми покажеш с директен пример, а аз после ще си го имплементирам в програмата.

0
01/07/2016 19:53:33
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.