0

jquery で jtemplates を使用していますが、テンプレートでテーブルを使用しようとするとエラーが発生します。

以下は機能しています

<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 に答える