2011-12-14 17 views
6

मैं किसी तालिका में JSON डेटा प्रदर्शित करने के लिए कोशिश कर रहा हूँ नेस्ट का उपयोग कर jQuery टेम्पलेट्स।नेस्टिंग jQuery टेम्पलेट्स

मैं इसे केवल पहले स्तर तक काम करने के लिए प्राप्त कर सकता हूं।

यहाँ मैं क्या हासिल करने की कोशिश कर रहा हूँ का एक उदाहरण है:

एक Client आदेश और एक Fullname की एक सूची है। यह clientTemplate और orderTemplate का उपयोग कर प्रदर्शित किया जाता है। उस बिंदु तक, सब कुछ ठीक काम करता है।

अब, Order की Products की एक सूची है। इसलिए मैं orderTemplate के भीतर से एक productTemplate फोन कर रहा हूँ। और डेटा बाध्य नहीं है :(

मेरा अनुमान है कि इस वजह से मैं productTemplate और $data को $data गुजर रहा हूँ शीर्ष स्तर वस्तु (Client) को दर्शाता है। लेकिन यह कैसे मैं वर्तमान आदेश तो पारित हो?

यहाँ मेरी टेम्प्लेट उपलब्ध हैं:

<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> 

उत्तर

3

एक {{each}} के संदर्भ में, आप $data के बजाय $value उपयोग करने के लिए यात्रा मद का उल्लेख करना होगा:

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

मुझे लगता है कि पता नहीं था! मदद करने के लिए बहुत बहुत धन्यवाद :) – Sam

संबंधित मुद्दे