2010-09-09 2 views
0

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

После работает

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

но следующий не работает и дает ошибки $ 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: '[email protected]' }, 
        { ID: 2, FirstName: 'Amelie', Email: '[email protected]' }, 
        { ID: 3, FirstName: 'Polly', Email: '[email protected]' }, 
        { ID: 4, FirstName: 'Alice', Email: '[email protected]' }, 
        { ID: 5, FirstName: 'Martha', Email: '[email protected]' } 
       ]; 

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

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

ответ

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); 
+0

Спасибо Рэндалл. Я правильно вижу результаты в IE 8, но не в Firefox и Chrome. Любые идеи, почему это может меня заинтересовать. – user198552

+0

Проверьте обновленный ответ. Также есть ли ошибки в Firefox и Chrome? –

0

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

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

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

Смежные вопросы