0

我将 jtemplates 与 jquery 一起使用,当我尝试在模板中使用表时出现错误。

以下正在工作

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

但以下不起作用并给出错误$T.record is undefined in 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);
});

非常感谢解决此问题的任何帮助。

4

2 回答 2

0

我会尝试一下,试试这个:

{#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);
于 2010-09-09T03:06:15.143 回答
0

错误是由于我放置模板本身造成的。当我将模板放在这样的块中时

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

模板正确呈现。

于 2010-09-13T04:52:51.433 回答