0

標準のMain/Row jTemplateパターンを使用していますが、何らかの理由でforeachは(StatusDetailの)複数の行がある場合にのみ機能します。データの単一行の場合、レンダリングされません(つまり、foreach内の行。その前のテーブルの部分は引き続きレンダリングされます)。

Data:
{
    "MG": {
        "Status": "In Transit",
        "StatusDetail": {
            "StatusCode": "Actual Pickup",
            "Date": {
                "@type": "actual",
                "#text": "11/13/2012 09:00"
                },
            "Location": "Mentor, OH "
        }
    }
}

jTemplateコード:

{#template MAIN}
<table id="results_hdr" cellpadding="5" cellspacing="0">
    <tr>
        <td class="FieldLabels">Status</td>
        <td>{$T.MG.Status}</td>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
        <td class="FieldLabels">Name</td>
        <td>{$T.MG.Name}</td>
    </tr>
    <tr><td colspan="6" style="background-color:White;"></td></tr>
    <tr>
        <td>Date</td>
        <td colspan="3">Detail</td>
        <td colspan="2">Location</td>
    </tr>
    {#foreach $T.MG.StatusDetail as SD}
        {#include ROW root=$T.SD}
    {#/for}
</table>
<br />
{#/template MAIN}
{#template ROW}
    <tr>
        <td>
            {$T.Date["#text"]}</td>
        <td colspan="3">
            {$T.StatusCode}</td>
        <td colspan="2">
            {$T.Location}</td>
    </tr>
{#/template ROW}

私は何が欠けていますか?

4

1 に答える 1

0

反復しようとして$T.MG.StatusDetailいますが、配列ではないため、{#foreach $T.MG.StatusDetail as SD}ステートメントは期待どおりに機能していません。

データを次のように変更して、MG.StatusDetail実際には配列であり、機能するようにします。

データ:

var data = {
    "MG": {
        "Status": "In Transit",
        "StatusDetail": [
            {
                "StatusCode": "Actual Pickup",
                "Date": {
                    "type": "actual",
                    "text": "11/13/2012 09:00"
                },
                "Location": "Mentor, OH "
            }
        ]
    }
};

これがデモです。

于 2012-11-15T16:39:58.293 に答える