Всем привет :)
Есть данные, какие приходят на страницу аяксом
data:
[
{
"book": "Name_1",
"author": "author_first",
"details": "description of this item 1"
}, {
"book": "Name_2",
"author": "author_first",
"details": "description of this item 2"
}, {
"book": "Name_3",
"author": "author_second",
"details": "description of this item 3"
}
]
Название книги, автор и описание книги
Для наглядности выложу весь код скрипта
(function ($) {
$.widget("example.book", {
options: {
data:
[
{
"book": "Name_1",
"author": "author_first",
"details": "description of this item 1"
}, {
"book": "Name_2",
"author": "author_first",
"details": "description of this item 2"
}, {
"book": "Name_3",
"author": "author_second",
"details": "description of this item 3"
}
],
templateGroup: '<div class="group"><div class="thumbnail">${book}</div><p>${details}</p></div>',
template: '<div>${groupname}</div>'
},
_create: function () {
var self = this;
this._bind();
},
_bind: function () {
var self = this;
self._send(self._render(this.options.param));
},
_render: function (params) {
return $.tmpl(this.options.templateGroup, this.options.data);
},
_send: function (message) {
this.element.append(message);
},
destroy: function () {
return $.Widget.prototype.destroy.call(this);
}
});
})(jQuery);
$(document).ready(function () {
$('#messages').book();
});
Функция
_render: function (params) {
return $.tmpl(this.options.templateGroup, this.options.data);
}
отрендерит нам все книги. не выводя авторов книг
Задача такая.
Сделать список в виде:
Автор 1
Книга 1, описание
Книга 2, описание
Автор 2
Книга 1, описание
У меня есть некоторые предположения..
Вывести список авторов (вопрос, как правильно вывести неповторяющихся авторов). Вторым шагом вывести в блок с именем автора список книг и их описание (ф-цией appendTo)..
Или может как-то нужно перетрансформировать наш список data и сделать это более простым способом. хочу увидеть ваши мнения по этому поводу.
Спасибо