$.tmpl - работа с темплейтами. Или как правильно сделать группировку?
Всем привет :)
Есть данные, какие приходят на страницу аяксом 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 и сделать это более простым способом. хочу увидеть ваши мнения по этому поводу. Спасибо |
Часовой пояс GMT +3, время: 05:40. |