2011-12-14 60 views
6

Yuvalanmış jQuery şablonlarını kullanarak JSON verilerini bir tabloda görüntülemeye çalışıyorum.iç içe jQuery şablonları

Sadece ilk seviyeye kadar çalıştırabilirim.

İşte başarmak istediğim şey bir örnek:

A Client Emir ve Fullname bir listesi vardır. Bu, clientTemplate ve orderTemplate kullanılarak görüntülenir. Bu noktaya kadar her şey iyi çalışıyor.

Şimdi, bir Order, Products'un bir listesine sahiptir. Bu yüzden orderTemplate içinden productTemplate numaralı telefonu arıyorum. Ve veriler bağlı değildir :(

Biliyorum bu productTemplate ve $data için $data geçiyorum çünkü üst düzey nesne (Client) atıfta tahmin ediyorum. Ama nasıl o anki Sipariş geçmek? İşte

benim şablonları şunlardır: bir {{each}} kapsamında

<script id="clientTemplate" type="text/x-jquery-tmpl"> 
    <tr><td>Fullname</td></tr> 
    <tr><td>${Fullname}</td></tr>   
    <tr> 
     <td> 
      <table> 
      <tr><td>Order Id</td><td>Order Date</td></tr> 
      {{tmpl($data) "#orderTemplate"}}    
      </table> 
     </td> 
    </tr> 
    </script> 

    <script id="orderTemplate" type="text/x-jquery-tmpl"> 
    {{each Orders}} 
     <tr> 
      <td>${Id}</td> 
      <td>${DateOrder}</td>        
     </tr> 
     <tr> 
     <td> 
      <table> 
      <tr><td>Product Id</td><td>Quantity</td></tr> 
      {{tmpl($data) "#productTemplate"}} 
      </table 
     </td> 
     </tr> 
    {{/each}} 
    </script> 

    <script id="productTemplate" type="text/x-jquery-tmpl"> 
    {{each ProductList}} 
     <tr> 
      <td>${Id}</td> 
      <td>${Quantity}</td> 
     </tr> 
    {{/each}} 
    </script> 

cevap

3

, sen iterasyon öğeye başvurmak için yerine $data arasında $value kullanmak zorunda:

Bilmiyorum! 10
{{tmpl($value) "#productTemplate"}} 
+0

Bunu bilmiyordum! Yardım ettiğin için çok teşekkürler. – Sam