JSON с шаблоном JQuery - PullRequest
       21

JSON с шаблоном JQuery

1 голос
/ 21 марта 2011

У меня есть этот многомерный JSON, который должен генерировать HTML-таблицу. Но на данный момент, единственное, что пишется, это tr, а не td.

Я знаю, что уже есть похожий вопрос title , но использование совсем другое.

Отличие от того, что я могу сказать, состоит в том, что я пишу свои шаблоны, используя метод шаблона вместо того, чтобы объявлять каждый из них как свой собственный скрипт ...

Это проанализированный (JSON) массив


[
    [
        {
        "name": "Morning meeting.",
        "description": "The morning business meeting hosted at Apple.",
        "image": "302632084.png",
        "rating": "1.5",
        "category": "4"
        },
        {
        "name": "Winning",
        "description": "",
        "image": "321752348.png",
        "rating": "5.0",
        "category": "3"
        },
        {
        "name": "1234566890abcdefghijklmnopqrstuvwxyz",
        "description": "",
        "image": "316892896.png",
        "rating": "3.0",
        "category": "16"
        }
    ],
    [
        {
        "name": "Kristian Lunch",
        "description": "Having a lunch break.",
        "image": "320196094.png",
        "rating": "3.0",
        "category": "8"
        },
        {
        "name": "Dropping the kids off at the pool.",
        "description": "A daly lesson on taking the kids to the pool.",
        "image": "302658031.png",
        "rating": "5.0",
        "category": "4"
        },
        {
        "name": "Dropping the kids off at the pool.",
        "description": "A daly lesson on taking the kids to the pool.",
        "image": "302658031.png",
        "rating": "5.0",
        "category": "4"
        }
    ]
]

Это мой метод, который должен записывать данные


EventsView.prototype.writeGrid = function(events)
{
    var gridRows = "<td class='gridRow'>${name}</td>";    
    $.template("gridRows", gridRows);
    var markup = "<tr class='gridCol'>{{events, gridRows}}</tr>";
    $.template( "gridCols", markup );
    $.tmpl( "gridCols", events )
        .appendTo("#gridBody");
}

На данный момент это HTML, который генерируется


<tbody id="gridBody">
    <tr class="gridCol">
    </tr>
    <tr class="gridCol">
    </tr>
</tbody>

Это HTML-код, который я хочу ...


<tbody id="gridBody">
    <tr class="gridCol">
        <td class="gridRow">Morning meeting.</td>
        <td class="gridRow">Winning</td>
        <td class="gridRow">1234566890abcdefghijklmnopqrstuvwxyz</td>
    </tr>
    <tr class="gridCol">
        <td class="gridRow">Kristian Lunch</td>
        <td class="gridRow">Dropping the kids off at the pool.</td>
        <td class="gridRow">Dropping the kids off at the pool.</td>
    </tr>
</tbody>

1 Ответ

1 голос
/ 21 марта 2011

JSON - ваш друг и гораздо аккуратнее, чем многомерный массив ...

http://www.json.org/js.html

https://github.com/douglascrockford/JSON-js

...