jtemplates与表出错

时间:2010-09-09 02:29:59

标签: jquery jtemplate

我正在使用带有jquery的jtemplate,并在我尝试使用模板中的表时出错。

以下工作

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

但以下内容不起作用,并在firebug中提供错误 $ T.record未定义

<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 :(得分: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);

答案 1 :(得分:0)

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

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

模板正确呈现。