Ошибка с jtemplates с таблицами - PullRequest
0 голосов
/ 09 сентября 2010

Я использую jtemplates с jquery и получаю сообщение об ошибке при попытке использовать таблицы в шаблоне.

Подписчик работает

<ul>
 {#foreach $T as record}
 <li>{$T.record.FirstName}</li>
 {#/for}
</ul>

но следующее не работает и выдает ошибку $ T.record не определен в firebug

<table border="1">
{#foreach $T as record}
<tr>
 <td>{$T.record.FirstName}</td>
</tr>
{#/for}
</table>

Вот как я называю шаблон с некоторыми данными

$(document).ready(function() {
    var data = [
                  { ID: 1, FirstName: 'Anne', Email: 'anne@domain.com' },
                  { ID: 2, FirstName: 'Amelie', Email: 'amelie@domain.com' },
                  { ID: 3, FirstName: 'Polly', Email: 'polly@domain.com' },
                  { ID: 4, FirstName: 'Alice', Email: 'alice@domain.com' },
                  { ID: 5, FirstName: 'Martha', Email: 'martha@domain.com' }
               ];

    $("#jTemplateDemo").setTemplate($("#templateHolder").html());
    $("#jTemplateDemo").processTemplate(data);
});

Любая помощь в решении этой проблемы очень ценится.

Ответы [ 2 ]

0 голосов
/ 13 сентября 2010

Ошибка произошла из-за моего размещения самого шаблона.Когда я поместил шаблон в блок, подобный этому,

<script id="templateHolder" type="text/html">
    <!-- Template itself -->
</script>

шаблоны отображаются правильно.

0 голосов
/ 09 сентября 2010

Я попробую, попробую:

{#template MAIN}
<table border="1">
    <tr>
        <th>First Name</th>
        <th>Email</th>
    </tr>
    {#foreach $T as record}
        {#include ROW root=$T.record}
    {#/for} 
</table>
{#/template MAIN}

{#template ROW}
    <tr>
        <td>{$T.FirstName}</td>
        <td>{$T.Email}</td>
    </tr>   
{#/template ROW}

Если у вас все еще проблемы, я бы порекомендовал поместить шаблон во внешний HTML-файл и использовать его следующим образом:

$("#jTemplateDemo").setTemplateURL('JTemplates/yourTemplateHere.html');
$("#jTemplateDemo").processTemplate(data);
...