Профил
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