我正在使用带有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);
});
非常感谢任何解决此问题的帮助。
答案 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>
模板正确呈现。